From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xensource.com
Cc: Wei Wang2 <wei.wang2@amd.com>,
"allen.m.kay@intel.com" <allen.m.kay@intel.com>,
Tim Deegan <tim@xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: [PATCH 0 of 3] Deal with IOMMU faults in softirq context.
Date: Mon, 19 Dec 2011 19:34:21 +0100 [thread overview]
Message-ID: <1324319661.2599.28.camel@Solace> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 1678 bytes --]
Hello everyone,
As already discussed here [1], dealing with IOMMU faults in interrupt
context may cause nasty things to happen, up to being used as a form of
DoS attack, e.g., by generating a "storm" of IOMMU faults that will
livelock a pCPU.
To avoid this, IOMMU faults handling is being moved from interrupt to
softirq context. Basically, the inerrupt handler of the IRQ originated
by an IOMMU (page) fault will raise a softirq-tasklet which will then
deal with the actual fault records by clearing the logs and re-enabling
interrupts from the offending IOMMU(s). A single tasklet is being used
even if there are more than just one IOMMU in the system, as the event
should be rare enough.
The series introduces the described mechanism for both Intel VT-d and
AMD-Vi, and has been tested on both platforms with an hacked DomU bnx2
network driver which was generating I/O page faults upon request.
Thanks and Regards,
Dario
[1] http://old-list-archives.xen.org/archives/html/xen-devel/2011-08/msg00638.html
--
0 iommu-fault-tasklet_vtd.patch
1 iommu-fault-tasklet_amd.patch
--
xen/drivers/passthrough/amd/iommu_init.c | 45 ++++++++++++++++++++++++++++++++++++++++++---
xen/drivers/passthrough/vtd/iommu.c | 35 ++++++++++++++++++++++++++++++++---
2 files changed, 74 insertions(+), 6 deletions(-)
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-------------------------------------------------------------------
Dario Faggioli, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)
PhD Candidate, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa (Italy)
[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next reply other threads:[~2011-12-19 18:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-19 18:34 Dario Faggioli [this message]
2011-12-19 18:51 ` PATCH 1 of 2] Move IOMMU faults handling into softirq for VT-d Dario Faggioli
2011-12-19 18:53 ` [PATCH 2 of 2] Move IOMMU faults handling into softirq for AMD-Vi Dario Faggioli
2011-12-20 12:11 ` Wei Wang2
2011-12-20 12:23 ` Dario Faggioli
2011-12-20 9:36 ` [PATCH 0 of 3] Deal with IOMMU faults in softirq context Jan Beulich
2011-12-20 10:04 ` Dario Faggioli
2011-12-20 10:45 ` Jan Beulich
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=1324319661.2599.28.camel@Solace \
--to=raistlin@linux.it \
--cc=JBeulich@suse.com \
--cc=allen.m.kay@intel.com \
--cc=tim@xen.org \
--cc=wei.wang2@amd.com \
--cc=xen-devel@lists.xensource.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.