From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH] fix XSA-46 regression with xend/xm Date: Tue, 21 May 2013 11:06:18 +0100 Message-ID: <519B471A.9020400@eu.citrix.com> References: <519B4F1102000078000D789D@nat28.tlf.novell.com> <519B60DD02000078000D799F@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <519B60DD02000078000D799F@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Steven Haigh , Ian Campbell , Ian Jackson , Andreas Falck , xen-devel , Gordan Bobic List-Id: xen-devel@lists.xenproject.org On 05/21/2013 10:56 AM, Jan Beulich wrote: >>>> On 21.05.13 at 11:44, George Dunlap wrote: >> On Tue, May 21, 2013 at 9:40 AM, Jan Beulich wrote: >>> The hypervisor side changes for XSA-46 require the tool stack to now >>> always map the guest pIRQ before granting access permission to the >>> underlying host IRQ (GSI). This in particular requires that pciif.py >>> no longer can skip this step (assuming qemu would do it) for HVM >>> guests. >>> >>> This in turn exposes, however, an inconsistency between xend and qemu: >>> The former wants to always establish 1:1 mappings between pIRQ and host >>> IRQ (for non-MSI only of course), while the latter always wants to >>> allocate an arbitrary mapping. Since the whole tool stack obviously >>> should always agree on the mapping model, make libxc enforce the 1:1 >>> mapping as the more natural one (as well as being the one that allows >>> for easier debugging, since there no need to find out the extra >>> mapping). Users of libxc that want to establish a particular (rather >>> than an allocated) mapping are still free to do so, as well as tool >>> stacks not based on libxc wanting to implement an allocation based >>> model (which is why it's not the hypervisor that's being changed to >>> enforce either model). >>> >>> Since libxl, like xend, already uses a 1:1 model, it's unaffected by >>> the libxc change (and it being unaffected by the original hypervisor >>> side changes is - afaict - simply due to qemu getting spawned at a >>> later point in time compared to the xend event flow). >>> >>> Signed-off-by: Jan Beulich >>> Tested-by: Andreas Falck (on 4.1) >>> Tested-by: Gordan Bobic (on 4.2) >> >> I think to get a release ack, someone will need to commit to testing >> it with xl for 4.3. > > It is pretty obvious (see the description) that xl is unaffected. It's pretty obvious that you think so, but it's my job to be skeptical. :-) If both xend and xl assume a 1:1 model, and this patch changes things for xend, why is it not possible for this to have an effect on xl? You have a guess, but it's marked "afaict". In any case it should be pretty straightforward to have done. We could even check it in and just put a release blocker, "Someone tests pass-through with xl" to make sure we don't forget it. -George