On Wednesday 07 June 2006 01:05, Don Zickus wrote:
> Inside those functions I saved the previous state of the watchdog timer.
> However, I learned today that my understanding was incorrect. Instead
> first the _hotplug_ code is called for every cpu _except_ cpu0. The
> _suspend/resume_ functions are only called in the context of _cpu0_.
>
> This breaks the design I have because upon resuming the watchdog timers
> automatically start on all cpus (except cpu0 because I saved the previous
> state through the handlers), regardless of what the previous state was.
This means the design was incorrect for CPU hotplug (which needs
to work anyways). suspend is just the most popular user of CPU
hotplug.
> 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.
> I didn't want to register a hotplug handler because a hotplug event is
> really different than a suspend event (I want to _save_ info during a
> suspend event). The documentation I was reading seemed to suggest that
> hotplug/suspend/smp was a work-in-progress.
You need to disable the nmi watchdog on CPU hotunplug too,
it's no good to keep the NMI running.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]