Messages in this thread | | | Subject | Re: [PATCH 31/31] memblock: Add memblock_find_in_range() | From | James Bottomley <> | Date | Wed, 28 Jul 2010 12:02:28 -0500 |
| |
On Tue, 2010-07-27 at 23:38 -0700, H. Peter Anvin wrote: > On 07/27/2010 11:08 PM, Yinghai Lu wrote: > > > > for example: > > high/low allocation, from first kernel to kexec second kernel, always work fine except system with Qlogic card. > > because Qlogic card is using main RAM as EFT etc for card's FW log trace. second kernel have not idea that those RAM > > is used by first kernel for that purpose. that the CARD still use that between two kernels. > > second kernel could have crash it try to use those ram. > > > > Uhm, no. That's a bug in the Qlogic driver not shutting the card down > cleanly. Hacking around that in memory allocation order is braindamaged > in the extreme. kexec *cannot* be safe in any way if we don't shut down > pending DMA, and what you describe above is DMA.
That's not the kexec for crash dump requirement as it was communicated to us. We were specifically told that the shutdown routines *may* not be called before booting the kexec kernel and thus we have to take action to stop the DMA engines in the init routines so the kexec kernel can halt all in-progress DMA as it boots. This implies that kexec must be able to cope with in-progress DMA.
James
| |