Re: In place kexec

Neil Horman
2010-07-29T15:06:44Z

On Thu, Jul 29, 2010 at 08:03:47AM -0700, H. Peter Anvin wrote:
> On 07/29/2010 06:43 AM, Neil Horman wrote:
> > On Wed, Jul 28, 2010 at 03:02:19PM -0700, Eric W. Biederman wrote:
> >> "H. Peter Anvin" <hpa@zytor.com> writes:
> >>
> >>> We are getting a claim that the qla driver corrupts memory after a
> >>> kexec, apparently due to a DMA engine left running in the before-kernel.
> >>>
> >>> For an in-place kexec (as opposed to a crash dump kexec, where we switch
> >>> into dedicated memory), what shutdown paths get executed?
> >>
> >> It is the normal reboot path, so the device shutdown method gets
> >> executed.
> >>
> >> Eric
> >>
> > Check your iommu. We've had lots of problems with them in the past, and in the
> > crash path we explicity leave the iommu on now, whereas the normal shutdown path
> > turns it off. If some other dma-capable device doesn't shut down properly and
> > keeps dma operations going, you're liable to get memory corruption when the
> > iommu re-initalizes.
> >
>
> Sorry, can we keep the discussions of kexec-on-crash and kexec-in-place
> clearly separated, please? The qla driver issue is supposed to be
> kexec-in-place, and it sounds like you're talking about kexec-on-crash.
>
No, I'm just indicating a difference between the two paths, and I'm doing so
because we used to have simmilar dma problems in the crash path, which we
resolved by not turning of the iommu during shutdown, which is different from
the in-place path. Just trying to give you some thoughts about where to look
for your problem.
Neil

> -hpa
>
> --
> H. Peter Anvin, Intel Open Source Technology Center
> I work for Intel. I don't speak on their behalf.