[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: Directly clear all pending EOIs once MSI info changed
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1264521181 0 # Node ID 58b45bb15137c450b1616935967cbc7e293bf521 # Parent cb0375fcec23ea188511c130feaee0c18b352968 x86: Directly clear all pending EOIs once MSI info changed As to unmaskable MSI, its deferred EOI policy only targets for avoiding IRQ storm. It should be safe to clear pending EOIs in advance when guest irq migration occurs, because next interrupt's EOI write is still deferred, and also can avoid storm. Signed-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx> --- xen/drivers/passthrough/io.c | 2 ++ 1 files changed, 2 insertions(+) diff -r cb0375fcec23 -r 58b45bb15137 xen/drivers/passthrough/io.c --- a/xen/drivers/passthrough/io.c Tue Jan 26 15:52:30 2010 +0000 +++ b/xen/drivers/passthrough/io.c Tue Jan 26 15:53:01 2010 +0000 @@ -197,6 +197,8 @@ int pt_irq_create_bind_vtd( /* if pirq is already mapped as vmsi, update the guest data/addr */ if ( hvm_irq_dpci->mirq[pirq].gmsi.gvec != pt_irq_bind->u.msi.gvec || hvm_irq_dpci->mirq[pirq].gmsi.gflags != pt_irq_bind->u.msi.gflags) { + /* Directly clear pending EOIs before enabling new MSI info. */ + pirq_guest_eoi(d, pirq); hvm_irq_dpci->mirq[pirq].gmsi.gvec = pt_irq_bind->u.msi.gvec; hvm_irq_dpci->mirq[pirq].gmsi.gflags = pt_irq_bind->u.msi.gflags; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |