Re: Kexec, DMA, and SMP

From: Suparna Bhattacharya (
Date: Thu Feb 13 2003 - 06:13:27 EST

On Wed, Feb 12, 2003 at 10:06:02AM -0600, Corey Minyard wrote:
> |
> |It is trivial if you don't let alloc_pages give the memory to anyone for
> |any purpose.
> Ok, agreed, if you reserve a section of physical memory just for kexec
> to copy it's kernel into, it will
> prevent DMA from clobbering something from the time kexec copies the
> kernel there to the time
> decompressing starts.
> Another thought. If you add a delay with all other processors and
> interrupts off, the disk devices
> will run out of things to do.
> Once you add all the necessary quiesce functions, these can go away.
> I do doubt these will make a big difference, though. The problem we
> were seeing was with the
> shared control structures in memory. The new kernel laid memory out a
> little differently and
> things like buffer pointers were overwritten with new data. This, in
> turn, cause the device to
> do random things. I would guess this is the most likely scenario, since

The trick is that the new kernel's allocations are also from the
reserved area. (Using the same technique that MCL relies on to
avoid allocating from and stomping over the pages containing
crash dump).

So the memory used by the old and new kernel are mutually


Suparna Bhattacharya (
Linux Technology Center
IBM Software Labs, India

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:46 EST