[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d2715827-2146-2de3-cd1b-186a4b67ca05@oracle.com>
Date: Tue, 10 Jan 2017 18:28:26 -0500
From: Boris Ostrovsky <boris.ostrovsky@...cle.com>
To: Dan Streetman <ddstreet@...e.org>,
Stefano Stabellini <sstabellini@...nel.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Dan Streetman <dan.streetman@...onical.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
xen-devel@...ts.xenproject.org,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-pci@...r.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not re-use pirq number cached in pci
device msi msg data
>> In the Xen code I can still see:
>>
>> case ECS_PIRQ: {
>> struct pirq *pirq = pirq_info(d1, chn1->u.pirq.irq);
>>
>> if ( !pirq )
>> break;
>> if ( !is_hvm_domain(d1) )
>> pirq_guest_unbind(d1, pirq);
>>
>> which means that pirq_guest_unbind should only be called on evtchn_close
>> if the guest is not an HVM guest.
A few lines further down we have:
pirq->evtchn = 0;
pirq_cleanup_check(pirq, d1);
unlink_pirq_port(chn1, d1->vcpu[chn1->notify_vcpu_id]);
#ifdef CONFIG_X86
if ( is_hvm_domain(d1) && domain_pirq_to_irq(d1, pirq->pirq) > 0 )
unmap_domain_pirq_emuirq(d1, pirq->pirq);
#endif
which is where we free up the pirq.
-boris
Powered by blists - more mailing lists