[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 |