|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.5] Revert "dpci: add 'masked' as a gate for hvm_dirq_assist to process"
commit 1965728cd5a1635859158f5800d844fc16774668
Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
AuthorDate: Mon Jan 12 11:29:33 2015 -0500
Commit: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
CommitDate: Mon Jan 12 11:29:33 2015 -0500
Revert "dpci: add 'masked' as a gate for hvm_dirq_assist to process"
This reverts commit 104072fc1c7e6ed117c70fa7f91ecc9946f8f654.
As there are issues with huge amount of MSI-X going off.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
---
xen/drivers/passthrough/io.c | 12 ++----------
xen/include/xen/hvm/irq.h | 1 -
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/xen/drivers/passthrough/io.c b/xen/drivers/passthrough/io.c
index ae050df..efc66dc 100644
--- a/xen/drivers/passthrough/io.c
+++ b/xen/drivers/passthrough/io.c
@@ -129,13 +129,6 @@ static void pt_pirq_softirq_reset(struct hvm_pirq_dpci
*pirq_dpci)
pirq_dpci->dom = NULL;
break;
}
- /*
- * Inhibit 'hvm_dirq_assist' from doing anything useful and at worst
- * calling 'set_timer' which will blow up (as we have called kill_timer
- * or never initialized it). Note that we hold the lock that
- * 'hvm_dirq_assist' could be spinning on.
- */
- pirq_dpci->masked = 0;
}
bool_t pt_irq_need_timer(uint32_t flags)
@@ -149,7 +142,7 @@ static int pt_irq_guest_eoi(struct domain *d, struct
hvm_pirq_dpci *pirq_dpci,
if ( __test_and_clear_bit(_HVM_IRQ_DPCI_EOI_LATCH_SHIFT,
&pirq_dpci->flags) )
{
- pirq_dpci->masked = 0;
+ pirq_dpci->state = 0;
pirq_dpci->pending = 0;
pirq_guest_eoi(dpci_pirq(pirq_dpci));
}
@@ -617,7 +610,6 @@ int hvm_do_IRQ_dpci(struct domain *d, struct pirq *pirq)
!(pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) )
return 0;
- pirq_dpci->masked = 1;
raise_softirq_for(pirq_dpci);
return 1;
}
@@ -677,7 +669,7 @@ static void hvm_dirq_assist(struct domain *d, struct
hvm_pirq_dpci *pirq_dpci)
ASSERT(d->arch.hvm_domain.irq.dpci);
spin_lock(&d->event_lock);
- if ( test_and_clear_bool(pirq_dpci->masked) )
+ if ( pirq_dpci->state )
{
struct pirq *pirq = dpci_pirq(pirq_dpci);
const struct dev_intx_gsi_link *digl;
diff --git a/xen/include/xen/hvm/irq.h b/xen/include/xen/hvm/irq.h
index 3996f1f..9709397 100644
--- a/xen/include/xen/hvm/irq.h
+++ b/xen/include/xen/hvm/irq.h
@@ -94,7 +94,6 @@ struct hvm_irq_dpci {
struct hvm_pirq_dpci {
uint32_t flags;
unsigned int state;
- bool_t masked;
uint16_t pending;
struct list_head digl_list;
struct domain *dom;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |