|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] x86: Directly clear all pending EOIs once
# 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] x86: Directly clear all pending EOIs once MSI info changed,
Xen patchbot-unstable <=
|
|
|
|
|