Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2022-08-23 23:43:00 +0300
committerBryan Drewery <bryan@shatow.net>2022-08-31 22:47:09 +0300
commit137c376a8709b00ab3a3e8612c67c9e3f12631a2 (patch)
treef7d8c19605cbe9e2b1df3c128fdef603219341de
parent0fdf728422104abcf129db8c63473cf01c0a3cf6 (diff)
Remove obsolete test for vfs.mnt_free_list_batch
In 2016 batching was introduced for free list management. Then in a59937e poudriere started checking of the sysctl is present to manage parallel unmounts. However, as of 2020 starting with: commit cc3593fbd953e2eeec72dbca05e77632817cba0b Author: Mateusz Guzik mjg@FreeBSD.org Date: Mon Jan 13 02:37:25 2020 +0000 vfs: rework vnode list management the sysctl is no longer present and the test no longer makes sense -- the oldest supported release already has the sysctl and newer ones don't while not having the perf problem. Fixes #1011
-rwxr-xr-xsrc/share/poudriere/common.sh11
-rw-r--r--src/share/poudriere/include/fs.sh10
2 files changed, 3 insertions, 18 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh
index 0ff20b8b..27957ca1 100755
--- a/src/share/poudriere/common.sh
+++ b/src/share/poudriere/common.sh
@@ -4771,10 +4771,6 @@ stop_builders() {
msg "Stopping ${PARALLEL_JOBS} builders"
real_parallel_jobs=${PARALLEL_JOBS}
- if [ ${UMOUNT_BATCHING} -eq 0 ]; then
- # Limit builders
- PARALLEL_JOBS=2
- fi
parallel_start
for j in ${JOBS-$(jot -w %02d ${real_parallel_jobs})}; do
parallel_run stop_builder "${j}"
@@ -8935,13 +8931,6 @@ esac
NCPU=$(sysctl -n hw.ncpu)
-# Check if parallel umount will contend on the vnode free list lock
-if sysctl -n vfs.mnt_free_list_batch >/dev/null 2>&1; then
- # Nah, parallel umount should be fine.
- UMOUNT_BATCHING=1
-else
- UMOUNT_BATCHING=0
-fi
# Determine if umount -n can be used.
if grep -q "#define[[:space:]]MNT_NONBUSY" /usr/include/sys/mount.h \
2>/dev/null; then
diff --git a/src/share/poudriere/include/fs.sh b/src/share/poudriere/include/fs.sh
index b3f60c62..0cc745e6 100644
--- a/src/share/poudriere/include/fs.sh
+++ b/src/share/poudriere/include/fs.sh
@@ -208,18 +208,14 @@ umountfs() {
[ $# -lt 1 ] && eargs umountfs mnt childonly
local mnt=$1
local childonly=$2
- local pattern xargsmax
+ local pattern
[ -n "${childonly}" ] && pattern="/"
mnt=$(realpath "${mnt}" 2>/dev/null || echo "${mnt}")
- xargsmax=
- if [ ${UMOUNT_BATCHING} -eq 0 ]; then
- xargsmax="-n 2"
- fi
if ! findmounts "${mnt}" "${pattern}" | \
- xargs ${xargsmax} umount ${UMOUNT_NONBUSY}; then
- findmounts "${mnt}" "${pattern}" | xargs ${xargsmax} umount -fv || :
+ xargs umount ${UMOUNT_NONBUSY}; then
+ findmounts "${mnt}" "${pattern}" | xargs umount -fv || :
fi
return 0