[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCHv2 0 of 2] Deal with IOMMU faults in softirq context.
Hello everyone, Reposting with after having applied the (minor) fixes suggested by Wei and Jan. Allen, if you can tell us what you think about this, or suggest someone else to ask some feedback to, if you're no longer involved with VT-d, that would be great! :-) -- 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 -- iommu-fault-tasklet_vtd.patch iommu-fault-tasklet_amd.patch xen/drivers/passthrough/amd/iommu_init.c | 47 ++++++++++++++++++++++++++++++++++++++++++++--- xen/drivers/passthrough/vtd/iommu.c | 39 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 80 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:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |