Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [2.6.17-rc5-mm2] crash when doing second suspend: BUG in arch/i386/kernel/nmi.c:174 | Date | Wed, 7 Jun 2006 11:55:38 +0200 |
| |
Hi,
On Wednesday 07 June 2006 02:42, Don Zickus wrote: > On Wed, Jun 07, 2006 at 10:05:07AM +1000, Nigel Cunningham wrote: > > On Wednesday 07 June 2006 09:55, Don Zickus wrote: > > > > > So my question is/was what is the proper way to handle processor level > > > > > subsystems during the suspend/resume path on an SMP system. I really > > > > > don't understand the hotplug path nor the suspend/resume path very > > > > > well. > > > > > > > > Make it work properly for CPU hotplug for individual CPU and then in > > > > suspend you take care of "global" state and the last CPU. > > > > > > So the assumption is treat all the cpus the same either all on or all off, > > > no mixed mode (some cpus on, some cpus off). I guess I was trying to hard > > > to work on the per-cpu level. > > > > This sounds wrong to me. Shouldn't the the effect of hotunplugging a cpu be to > > put the driver in a state equivalent to if that cpu simply didn't exist? > > Unplugging shouldn't assume we're going to subsequently have either a driver > > suspend, or a replug. > > This is my biggest problem or maybe my complete lack of understanding, is > that I don't know how to determine what state I am in during a hotplug > event, either a cpu removal or a suspend. Therefore I feel like I have to > store some persistant data around _just_ in case this is a suspend event. > Also at the opposite end, how to separate a cpu insert vs. a cpu resume. > The different being initialize to a global state vs. initialize to a last > known state.
The original idea was to treat the nonboot CPUs as though they were removed.
Greetings, Rafael - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |