Kernel schedules kernel tasks on isolated cpus, SCHED_FIFO prevents kernel tasks from running

valdis.kletnieks at vt.edu valdis.kletnieks at vt.edu
Wed Jun 28 16:49:28 EDT 2017


On Wed, 28 Jun 2017 14:02:37 -0500, Andrei Hurynovich said:
> The question is why this old 2.6 kernel decide that it needs per-cpu
> events and kblockd tasks.

You have per-cpu events ecause your real-time process issues syscalls, and
syscalls do things inside the kernel that require per-CPU infrastructure.

You have kblockd and other per-cpu threads because you're using an old ancient
kernel that doesn't have Frederic Weisbecker's CONFIG_NO_HZ_FULL support, or
the support for a single system-wide kblockd, or a mess of other stuff.  So it
isn't that it "decides" to do it per-cpu, it's because 2.6.32 had it done that
way for simplicity, and in the *8 years* since 2.6.32 was released, people
cleaned much of that stuff up.

[/usr/src/linux-next] git diff --shortstat v2.6.32 next-20170627
 64638 files changed, 17302278 insertions(+), 5102365 deletions(-)

Yes, you're 17 *million* lines of code behind the times.  Much of what you are
complaining about was solved half a decade or more ago.

Or as Greg suggested, use a modern kernel. :)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 486 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20170628/3f77ea30/attachment.bin 


More information about the Kernelnewbies mailing list