lkml.org 
[lkml]   [2003]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Kexec, DMA, and SMP
From
Date
Corey Minyard <cminyard@mvista.com> writes:

> Werner Almesberger wrote:
>
> |Zwane Mwaikambo wrote:
> |
> |>I don't think suspending devices is safe at that stage since removing
> |>devices and walking lists and freeing memory and disabling devices and...
> |>kicks up quite a storm.
> |
> |
> |If you *really* don't want to stop devices, you can use the
> |"reserved, non-DMA memory" approach, kexec the kernel that
> |records the crash dump, and then do a system-wide reset, or
> |such.
> |
> |But if you don't have that - possibly considerable - amount
> |of memory to spare, you don't have much of a choice than to
> |stop devices. Of course, crash dumps don't need a neat and
> |clean shutdown, so you can avoid all the kfrees, and such.
> |
> |(So adding a special mode to the power management code may
> |be too much overhead. Besides, sometimes, you can just pull
> |a reset line, and don't have to do anything even remotely
> |related to power management.)
>
> True, I didn't mean the high-level power management code directly. But the
> PCI API defines a suspend operation that could take a special mode for this.

The generic device api has a shutdown method for this. And in the non panic
case we use it. Not a lot of devices have it implemented but it exists.

And except that it doesn't have a restriction that it can't block is pretty
much what you want.

> Or maybe a new field in the PCI structure (and equivalent for other things, if
> there are any). But the suspend and resume operations should at least give
> a good idea where its needed and how to use it.

The API is already done...

We just don't trust the dying kernel enough to use it during a panic.

Eric
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.058 / U:4.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site