lkml.org 
[lkml]   [2010]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] generic-ipi: fix deadlock in __smp_call_function_single
FromPeter Zijlstra <>
DateTue, 14 Sep 2010 10:03:47 +0200
On Mon, 2010-09-13 at 11:02 -0700, Suresh Siddha wrote:
> On Sat, 2010-09-11 at 09:42 -0700, Venkatesh Pallipadi wrote:
> > Also, as we don't have rq lock around this point, it seems possible
> > that the CPU that was busy and wants to kick idle load balance on
> > remote CPU, could have become idle and nominated itself as idle load
> > balancer.
>
> A busy cpu (currently running something -- one task on the rq atleast)
> can't become idle in the middle of trigger_load_balance().
>
> What might be happening is similar what you said but the opposite of it.
>
> cpu-x is idle which is also ilb_cpu
> got a scheduler tick during idle
> and the nohz_kick_needed() in trigger_load_balance() checks for
> rq_x->nr_running which might not be zero (because of someone waking a
> task on this rq etc) and this leads to the situation of the cpu-x
> sending a kick to itself.

So what patches are we going to merge?

I share Heiko's opinion on that its somewhat surprising to have
__smp_call_function_single() differ in this detail from
smp_call_function_single() and think that merging his patch would be
good in that respect. But Andrew seemed to have reservations.

We can also merge either my or Suresh's patch (which I think makes
sense, but is kinda subtle) to avoid the needless self kick.

Hmm?


\
 
 \ /
  Last update: 2010-09-14 10:07    [from the cache]
©2003-2010