[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH for-4.14 2/2] x86/passthrough: introduce a flag for GSIs not requiring an EOI or unmask
On Wed, Jun 10, 2020 at 01:37:15PM +0100, Andrew Cooper wrote: > On 10/06/2020 12:51, Roger Pau Monne wrote: > > @@ -920,6 +927,11 @@ static void hvm_dirq_assist(struct domain *d, struct > > hvm_pirq_dpci *pirq_dpci) > > if ( pirq_dpci->flags & HVM_IRQ_DPCI_IDENTITY_GSI ) > > { > > hvm_gsi_assert(d, pirq->pirq); > > + if ( pirq_dpci->flags & HVM_IRQ_DPCI_NO_EOI ) > > + { > > + spin_unlock(&d->event_lock); > > + return; > > + } > > Urgh. Could I possibly talk you into fixing hvm_dirq_assist() to have a > "goto out;" and a single unlock path ? (How far are you expecting this > to be backported?) I was very tempted to go that way but didn't want to introduce more churn. Since you agree I will do so. > I'm also totally unconvinced that the atomic test_and_clear() needs to > be done with the event lock held (it should either be non-atomic, or the > locking should be inside the if() condition), but that is probably not a > can of worms wanting opening right now... There's some reasoning about all this in 104072fc1c7e6ed. I also think naming it masked is confusing, since the underlying interrupt might not be masked. Anyway, this seems like something I don't really want to get into now, as it seems quite fragile. Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |