Re: [PATCH] cpu hotplug fixes for dependent_sleeper and wake_sleeping_dependent

From: Ingo Molnar
Date: Mon Aug 30 2004 - 08:28:52 EST



* Nathan Lynch <nathanl@xxxxxxxxxxxxxx> wrote:

> To recap, offlining a cpu with current bk results in the "Aiee,
> killing interrupt handler!" panic from do_exit(). This seems to be
> triggered only with CONFIG_PREEMPT and CONFIG_SCHED_SMT both enabled.
> I believe the problem is that when do_stop() calls schedule(),
> dependent_sleeper() drops the "offline" cpu's rq->lock and never
> reacquires it.
>
> The following seems to work (tested on ppc64). Is there a better way?

> - if (!(sd->flags & SD_SHARE_CPUPOWER))
> + if (!(sd->flags & SD_SHARE_CPUPOWER) || cpu_is_offline(this_cpu))

> + if (!(sd->flags & SD_SHARE_CPUPOWER) || cpu_is_offline(this_cpu))

it would really be nice to do this without any runtime overhead. Rusty?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/