From: Joerg Roedel <joro@8bytes.org>
To: Neil Horman <nhorman@redhat.com>
Cc: Neil Horman <nhorman@tuxdriver.com>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
hbabu@us.ibm.com, iommu@lists.linux-foundation.org,
"Eric W. Biederman" <ebiederm@xmission.com>,
Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [PATCH] amd iommu: force flush of iommu prior during shutdown
Date: Thu, 1 Apr 2010 22:14:34 +0200 [thread overview]
Message-ID: <20100401201433.GK24846@8bytes.org> (raw)
In-Reply-To: <20100401171149.GH13603@shamino.rdu.redhat.com>
On Thu, Apr 01, 2010 at 01:11:49PM -0400, Neil Horman wrote:
> On Thu, Apr 01, 2010 at 05:56:43PM +0200, Joerg Roedel wrote:
> > The possible fix will be to enable the hardware earlier in the
> > initialization path.
> >
> That sounds like a reasonable theory, I'll try hack something together
> shortly.
Great. So the problem might be already fixed when I am back in the
office ;-)
> > This would only prevent possible data corruption. When the IOMMU is off
> > the devices will not get a target abort but will only write to different
> > physical memory locations. The window where a target abort can happen
> > starts when the kdump kernel re-enables the IOMMU and ends when the new
> > driver for that device attaches. This is a small window but there is not
> > a lot we can do to avoid this small time window.
> >
> Can you explain this a bit further please? From what I read, when the iommu is
> disabled, AIUI it does no translations. That means that any dma addresses which
> the driver mapped via the iommu prior to a crash that are stored in devices will
> just get strobed on the bus without any translation. If those dma address do
> not lay on top of any physical ram, won't that lead to bus errors, and
> transaction aborts? Worse, if those dma addresses do lie on top of real
> physical addresses, won't we get corruption in various places? Or am I missing
> part of how that works?
Hm, the device address may not be a valid host physical address, thats
true. But the problem with the small time-window when the IOMMU hardware
is re-programmed from the kdump kernel still exists.
I need to think about other possible side-effects of leaving the IOMMU
enabled on shutdown^Wboot into a kdump kernel.
Joerg
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Joerg Roedel <joro@8bytes.org>
To: Neil Horman <nhorman@redhat.com>
Cc: Neil Horman <nhorman@tuxdriver.com>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
hbabu@us.ibm.com, iommu@lists.linux-foundation.org,
"Eric W. Biederman" <ebiederm@xmission.com>,
Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [PATCH] amd iommu: force flush of iommu prior during shutdown
Date: Thu, 1 Apr 2010 22:14:34 +0200 [thread overview]
Message-ID: <20100401201433.GK24846@8bytes.org> (raw)
In-Reply-To: <20100401171149.GH13603@shamino.rdu.redhat.com>
On Thu, Apr 01, 2010 at 01:11:49PM -0400, Neil Horman wrote:
> On Thu, Apr 01, 2010 at 05:56:43PM +0200, Joerg Roedel wrote:
> > The possible fix will be to enable the hardware earlier in the
> > initialization path.
> >
> That sounds like a reasonable theory, I'll try hack something together
> shortly.
Great. So the problem might be already fixed when I am back in the
office ;-)
> > This would only prevent possible data corruption. When the IOMMU is off
> > the devices will not get a target abort but will only write to different
> > physical memory locations. The window where a target abort can happen
> > starts when the kdump kernel re-enables the IOMMU and ends when the new
> > driver for that device attaches. This is a small window but there is not
> > a lot we can do to avoid this small time window.
> >
> Can you explain this a bit further please? From what I read, when the iommu is
> disabled, AIUI it does no translations. That means that any dma addresses which
> the driver mapped via the iommu prior to a crash that are stored in devices will
> just get strobed on the bus without any translation. If those dma address do
> not lay on top of any physical ram, won't that lead to bus errors, and
> transaction aborts? Worse, if those dma addresses do lie on top of real
> physical addresses, won't we get corruption in various places? Or am I missing
> part of how that works?
Hm, the device address may not be a valid host physical address, thats
true. But the problem with the small time-window when the IOMMU hardware
is re-programmed from the kdump kernel still exists.
I need to think about other possible side-effects of leaving the IOMMU
enabled on shutdown^Wboot into a kdump kernel.
Joerg
next prev parent reply other threads:[~2010-04-01 20:14 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-31 15:24 [PATCH] amd iommu: force flush of iommu prior during shutdown Neil Horman
2010-03-31 15:24 ` Neil Horman
2010-03-31 15:54 ` Vivek Goyal
2010-03-31 15:54 ` Vivek Goyal
2010-03-31 18:28 ` Neil Horman
2010-03-31 18:28 ` Neil Horman
2010-03-31 18:57 ` Eric W. Biederman
2010-03-31 18:57 ` Eric W. Biederman
2010-03-31 19:18 ` Neil Horman
2010-03-31 19:18 ` Neil Horman
2010-03-31 19:51 ` Eric W. Biederman
2010-03-31 19:51 ` Eric W. Biederman
2010-03-31 20:27 ` Neil Horman
2010-03-31 20:27 ` Neil Horman
2010-04-01 4:04 ` Eric W. Biederman
2010-04-01 4:04 ` Eric W. Biederman
2010-04-01 12:49 ` Neil Horman
2010-04-01 12:49 ` Neil Horman
2010-04-01 14:29 ` Joerg Roedel
2010-04-01 14:29 ` Joerg Roedel
2010-04-01 14:47 ` Neil Horman
2010-04-01 14:47 ` Neil Horman
2010-04-01 15:56 ` Joerg Roedel
2010-04-01 15:56 ` Joerg Roedel
2010-04-01 17:11 ` Neil Horman
2010-04-01 17:11 ` Neil Horman
2010-04-01 20:14 ` Joerg Roedel [this message]
2010-04-01 20:14 ` Joerg Roedel
2010-04-02 0:00 ` Neil Horman
2010-04-02 0:00 ` Neil Horman
2010-04-02 0:30 ` Chris Wright
2010-04-02 0:30 ` Chris Wright
2010-04-02 1:23 ` [PATCH 1/2] x86/amd-iommu: enable iommu before attaching devices Chris Wright
2010-04-02 1:23 ` Chris Wright
2010-04-02 1:31 ` [PATCH 2/2] x86/amd-iommu: warn when issuing command to uninitiailed cmd buffer Chris Wright
2010-04-02 1:31 ` Chris Wright
2010-04-02 1:35 ` [PATCH 1/2] x86/amd-iommu: enable iommu before attaching devices Neil Horman
2010-04-02 1:35 ` Neil Horman
2010-04-02 1:38 ` Chris Wright
2010-04-02 1:38 ` Chris Wright
2010-04-02 9:11 ` Joerg Roedel
2010-04-02 9:11 ` Joerg Roedel
2010-04-02 23:59 ` Chris Wright
2010-04-02 23:59 ` Chris Wright
2010-04-02 15:59 ` Vivek Goyal
2010-04-02 15:59 ` Vivek Goyal
2010-04-02 22:38 ` Chris Wright
2010-04-02 22:38 ` Chris Wright
2010-04-02 22:55 ` Eric W. Biederman
2010-04-02 22:55 ` Eric W. Biederman
2010-04-02 23:57 ` Chris Wright
2010-04-02 23:57 ` Chris Wright
2010-04-03 17:38 ` Joerg Roedel
2010-04-03 17:38 ` Joerg Roedel
2010-04-05 14:17 ` Vivek Goyal
2010-04-05 14:17 ` Vivek Goyal
2010-04-05 14:32 ` Joerg Roedel
2010-04-05 14:32 ` Joerg Roedel
2010-04-05 15:34 ` Neil Horman
2010-04-05 15:34 ` Neil Horman
2010-03-31 18:43 ` [PATCH] amd iommu: force flush of iommu prior during shutdown Eric W. Biederman
2010-03-31 18:43 ` Eric W. Biederman
2010-03-31 21:25 ` Chris Wright
2010-03-31 21:25 ` Chris Wright
2010-04-01 1:13 ` Neil Horman
2010-04-01 1:13 ` Neil Horman
2010-04-01 1:39 ` Chris Wright
2010-04-01 1:39 ` Chris Wright
2010-04-01 2:24 ` Vivek Goyal
2010-04-01 2:24 ` Vivek Goyal
2010-04-01 12:53 ` Neil Horman
2010-04-01 12:53 ` Neil Horman
2010-04-01 15:02 ` Vivek Goyal
2010-04-01 15:02 ` Vivek Goyal
2010-04-01 15:13 ` Neil Horman
2010-04-01 15:13 ` Neil Horman
2010-04-01 2:44 ` Vivek Goyal
2010-04-01 2:44 ` Vivek Goyal
2010-04-01 7:10 ` Chris Wright
2010-04-01 7:10 ` Chris Wright
2010-04-01 12:56 ` Neil Horman
2010-04-01 12:56 ` Neil Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100401201433.GK24846@8bytes.org \
--to=joro@8bytes.org \
--cc=ebiederm@xmission.com \
--cc=hbabu@us.ibm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nhorman@redhat.com \
--cc=nhorman@tuxdriver.com \
--cc=vgoyal@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.