kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* Kernel schedules kernel tasks on isolated cpus, SCHED_FIFO prevents kernel tasks from running
@ 2017-06-28 13:39 Andrei Hurynovich
  2017-06-28 18:04 ` valdis.kletnieks at vt.edu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Andrei Hurynovich @ 2017-06-28 13:39 UTC (permalink / raw)
  To: kernelnewbies

Hi.

We are trying to build realtime(-ish) system based on rhel6(kernel 
2.6.32-642.1.1.el6.x86_64).

We used isolcpus to remove some cpus from process 
scheduling(isolcpus=2-19 nohz_full=2-19 rcu_nocbs=2-19).

We spin off a program thread that set's its cpu affinity to one of those 
isolated cpus, sets its scheduling chass to SCHED_FIFO, spins in a loop 
and never sched_yield()-s to the kernel.

We set sysctl kernel.sched_rt_runtime_us = -1 so realtime threads are 
NEVER interrupted.

We are observing that the program thread is indeed realtime and is never 
interrupted.

After some time working like this, the system becomes irresponsive - ssh 
connections start failing with timeout, existing connections hang when 
trying to read/write to physical disks(reading procfs or writing to 
tmpfs is unaffected).

***
According to /proc/sched_debug, it seems that kernel still schedules 
some SCHED_OTHER(e.g. non-realtime) kernel tasks to isolated cpus - for 
example cpu 18 get tasks events/18 and kblockd/18 that are stuck in 
runnable(but not running state), so those kernel processes never got a 
single time slice because our realtime process hogs 100% of cpu.

And kernel/18 and kblockd/18 never migrate to other cpus because these 
tasks are pinned to cpu 18.
***

Check please these /proc/sched_debug snapshots, you can see that 
events/18 and kblockd/18 sum-exec counters are not increasing:
https://gist.github.com/altmind/5cf4aad87a4a082441c1ca9378a06154




The question is: Is it possible to never schedule kernel tasks on 
selected cpus?

-- 
Thanks,
Andrei Hurynovich

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-28 21:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-28 13:39 Kernel schedules kernel tasks on isolated cpus, SCHED_FIFO prevents kernel tasks from running Andrei Hurynovich
2017-06-28 18:04 ` valdis.kletnieks at vt.edu
2017-06-28 19:02   ` Andrei Hurynovich
2017-06-28 20:49     ` valdis.kletnieks at vt.edu
2017-06-28 18:27 ` Greg KH
2017-06-28 21:18 ` Rik van Riel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).