public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RE: Fixing MTRR smp breakage and suspending sysdevs.
@ 2004-10-27  2:48 Li, Shaohua
  2004-10-27  2:49 ` Nigel Cunningham
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Li, Shaohua @ 2004-10-27  2:48 UTC (permalink / raw)
  To: ncunningham, Pavel Machek; +Cc: Patrick Mochel, Linux Kernel Mailing List

>
>Hi!
>
>I've just had a go at fixing the issue with my implementation not
>suspending the sysdevs (I believe swsusp does the same). In the
process,
>I reworked the MTRR support so it's not treated as a sysdev. Instead,
>when we're saving cpu state, the mtrr_save function function is called.
>When we go to restore CPU state, each CPU calls a function that resets
>it's MTRRs and the 'main' cpu then frees the saved data. This is
working
>well here (did a dozen plus suspends on the trot), but I want to check
>that it sounds like the right solution to you.
>
>Perhaps this method should be made more generic? (Are there likely to
be
>other per-cpu state savers needed?)
>
>One thing I have noticed is that by adding the sysdev suspend/resume
>calls, I've gained a few seconds delay. I'll see if I can track down
the
>cause.
Is the problem MTRR resume must be with IRQ enabled, right? Could we
implement a method sysdev resume with IRQ enabled? MTRR driver isn't the
only case. The ACPI Link device is another case, it's a sysdev (it must
resume before any PCI device resumed), but its resume (it uses semaphore
and non-atomic kmalloc) can't invoked with IRQ enabled. I guess cpufreq
driver is another case when suspend/resume SMP is supported.

Thanks,
Shaohua

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-10-29  0:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-27  2:48 Fixing MTRR smp breakage and suspending sysdevs Li, Shaohua
2004-10-27  2:49 ` Nigel Cunningham
2004-10-27  3:20 ` Dmitry Torokhov
2004-10-27  3:17   ` Nigel Cunningham
2004-10-27  3:50     ` Dmitry Torokhov
2004-10-27  3:55       ` Nigel Cunningham
2004-10-27 10:00 ` Pavel Machek
2004-10-28 22:38   ` time and suspending sysdevs [was Re: Fixing MTRR smp breakage and suspending sysdevs.] Pavel Machek
2004-10-29  0:18     ` Nigel Cunningham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox