public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: 1 RT task blocks 4-core machine ?
@ 2010-10-09 17:42 Tommaso Cucinotta
  2010-10-11  7:53 ` Peter Zijlstra
  0 siblings, 1 reply; 4+ messages in thread
From: Tommaso Cucinotta @ 2010-10-09 17:42 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: linux-kernel

Peter wrote:
>  On Tue, 2010-10-05 at 00:26 +0200, Tommaso Cucinotta wrote:
>  >  A possible explanation might be that the CFS load balancing logic sees
>  >  my only active task (e.g., the ssh server or shell etc.) as running
>  >  alone on its core, and does not detect that it is inhibited to actually
>  >  run due to RT tasks on the same core. Therefore, it will not migrate
>  >  the task to the free cores. Does this explanation make sense
>  >  or is it completely wrong ?
>
>  Possibly, its got some logic to detect this but maybe it gets confused
>  still, in particular look at the adaptive cpu_power in
>  update_cpu_power() and calling functions.

Ok, I'll have a look (when I have some time :-( ), thanks.

>  >  Also, I'd like to hear whether this is considered the "normal/desired"
>  >  behavior of intermixing RT and non-RT tasks.
>
>  Pegging a cpu using sched_fifo/rr pretty much means you get to keep the
>  pieces, if it works nice, if you can make it work better kudos, but no
>  polling from sched_fifo/rr is not something that is considered sane for
>  the general health of your system.

Sure, I was not thinking to push/pull across heterogeneous scheduling
classes, but rather to simply account for the proper per-CPU tasks count
and load (including all the tasks comprising RT ones) when load-balancing
in CFS. Perhaps, you mean, e.g., if a RT task ends, the CPU would go idle
and it would be supposed to pull ? Just we don't do that, and at the next
load-balancing decision things would be fixed up (please, consider I don't
know the CFS load balancer so well).

So, for example, in addition to fix the reported issue, we'd get also that,
when pinning a heavy RT workload on a CPU, CFS tasks would migrate to other
CPUs, if available. Again, that doesn't need to be instantaneous (push), but
it could happen later when the CFS load-balancer is invoked (is it invoked
periodically, as of now ?).

Thanks,

	T.

-- 
Tommaso Cucinotta, Computer Engineering PhD, Researcher
ReTiS Lab, Scuola Superiore Sant'Anna, Pisa, Italy
Tel +39 050 882 024, Fax +39 050 882 003
http://retis.sssup.it/people/tommaso


^ permalink raw reply	[flat|nested] 4+ messages in thread
[parent not found: <AANLkTim2icGqFWB1S6TVcQwmo+sCcGdNDPO3s8LFqzR=@mail.gmail.com>]

end of thread, other threads:[~2010-10-11  7:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-09 17:42 1 RT task blocks 4-core machine ? Tommaso Cucinotta
2010-10-11  7:53 ` Peter Zijlstra
     [not found] <AANLkTim2icGqFWB1S6TVcQwmo+sCcGdNDPO3s8LFqzR=@mail.gmail.com>
2010-10-04 22:26 ` Tommaso Cucinotta
2010-10-06 13:34   ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox