[REGRESSION] ioprio performance hangs, bisected
From: Chris Bainbridge
Date: Mon Nov 25 2024 - 11:37:50 EST
The commit 6975c1a486a4 ("block: remove the ioprio field from struct
request") appears to have introduced a performance regression. Test
case is the script /etc/cron.daily/locate from package `locate` (which
is from findutils locate on Debian). The script runs:
ionice -c 3 -p 3965
nice -n 10 updatedb.findutils
This locate script will usually complete in about 1m20s on my machine.
But, following commit 6975c1a486a4, the script doesn't seem to
complete in a reasonable time (I waited 20 minutes). `top` shows that
no or little CPU time seems to be dedicated to the find process. Also
it seems that this affects other processes too - once find is in a
"hung" state, doing `ls -R` on the affected drive will also hang, even
though the priority of the terminal/bash/ls process hasn't changed,
and is supposedly independent of the locate/find script. I'm running
btrfs, on an external USB SSD drive.
#regzbot introduced: 6975c1a486a40446b5bc77a89d9c520f8296fd08