Re: Periodic rant about SCHED_ULE

From: Peter <pmc_at_citylink.dinoex.sub.org>
Date: Sat, 25 Mar 2023 18:58:55 UTC
On Sat, Mar 25, 2023 at 11:14:11AM -0700, Mark Millard wrote:

! Why did PID 10675 change to 19028?

Because it went into some NFS share, and it would still be there if I
hadn't restartet it a bit differently.

! When I tried that tar line, I get lots of output to stderr:
! 
! # tar cvf - / | cpuset -l 13 gzip -9 > /dev/null
! tar: Removing leading '/' from member names
! a .
! a root
! a wrkdirs
! a bin
! a usr
! . . .
! 
! Was that an intentional part of the test?

Yes. So you can see what it is currently feeding to gzip (small or
big files - or some NFS share, where the operation becomes pointless).

! # tar cvf - / 2>/dev/null | cpuset -l 13 gzip -9 2>&1 > /dev/null
! 
! At which point I get the likes of:
! 
! 17129 root          1  68    0  14192Ki    3628Ki RUN     13   0:20   3.95% gzip -9
! 17128 root          1  20    0  58300Ki   13880Ki pipdwt  18   0:00   0.27% tar cvf - / (bsdtar)
! 17097 root          1 133    0  13364Ki    3060Ki CPU13   13   8:05  95.93% sh -c while true; do :; done
! 
! up front.

Ah. So? To me this doesn't look good. If both jobs are runnable, they
should each get ~50%.

! For reference, I also see the likes of the following from
! "gstat -spod" (it is a root on ZFS context with PCIe Optane media):

So we might assume that indeed both jobs are runable, and the only
significant difference is that one does system calls while the other
doesn't.

The point of this all is: identify the malfunction with the most
simple usecase. (And for me here is a malfunction.)
And then, obviousely, fix it.