Re: broken suspend (sched related) [Was: 2.6.24-rc4-mm1]

Ingo Molnar
2007-12-10T09:12:09Z

> > softlockup: remove get_online_cpus() which doesn't help here.
> >
> > The get_online_cpus() protection seems to be bogus in
> > kernel/softlockup.c as cpu cached in check_cpu can go offline once
> > we do a put_online_cpus().
> >
> > This can also cause deadlock during a cpu offline as follows:

i'm wondering, what's the proper CPU-hotplug safe sequence here then?
I'm picking a CPU number from cpu_online_map, and that CPU could go away
while i'm still using it, right? What's saving us here?

Ingo