idprio(1) broken
Andriy Gapon
avg at FreeBSD.org
Tue Dec 26 12:01:35 UTC 2017
On 26/12/2017 11:18, Eugene Grosbein wrote:
> On 26.12.2017 16:10, Eugene Grosbein wrote:
>
>> Is idprio(1) broken in stable/11?
>>
>> As root, start one bzip2 instance with idprio and one additional bzip2 intance per CPU core:
>>
>> # idprio 5 bzip2 -9 </dev/zero >/dev/null &
>> # n=$(sysctl -n kern.smp.cpus)
>> # i=1; while [ $i -le $n ]; do bzip2 -9 </dev/zero >/dev/null & i=$(($i+1)); done
>> # top
>>
>> For dual core system, I see that idprio'd bzip2 takes all cycles of first core
>> and two "normal" bzip2's share cycles of second core each taking ~50% of CPU time.
>>
>> It is expected that idprio'd bzip2 get no CPU time at all and each of "normal" bzip2's
>> get ~100% of single CPU core for such setup.
>
> This works as expected for stable/10.
Seems to work as expected on head as well.
Tested on a 6-core physical system and a 2-core bhyve VM.
# ps axwwl | fgrep bzip2
0 943 935 0 129 5 10564 2196 - RN 1 0:00.00 idprio 5 bzip2 -9
0 945 935 0 108 5 18332 9676 - RN 1 1:16.15 bzip2 -9
0 946 935 0 108 5 18332 9676 - RN 1 1:16.34 bzip2 -9
idprio isn't even able to exec bzip2.
# ps axwwl | fgrep bzip2
0 28986 86816 0 129 5 18348 2324 - RN 17 0:00.02 bzip2 -9
0 28988 86816 0 106 5 18348 9680 - RN 17 1:27.25 bzip2 -9
0 28989 86816 0 106 5 18348 9680 - RN 17 1:27.86 bzip2 -9
0 28990 86816 0 108 5 18348 9680 - RN 17 1:35.50 bzip2 -9
0 28991 86816 0 106 5 18348 9680 - RN 17 1:27.00 bzip2 -9
0 28992 86816 0 106 5 18348 9680 - RN 17 1:25.83 bzip2 -9
0 28993 86816 0 106 5 18348 9680 - RN 17 1:26.76 bzip2 -9
--
Andriy Gapon
More information about the freebsd-hackers
mailing list