[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/2] x86/xen: Allow per-domain usage of hardware virtualized APIC


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Jane Malalane <Jane.Malalane@xxxxxxxxxx>
  • Date: Fri, 25 Feb 2022 14:27:11 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=02JAWAv02yBJddYouoIiPUrSkCTCLharLLXH/U//9Ys=; b=KJGRUMX3SjMEA5RYgSuXBPzJPiQlK8zkBPlj1G8ciqPrUZhtvX89ch8npLP8LrMSEqXo3hDRtrvGsq9c2KDyKxY2Z5j9uQ3prgVMp4AALk8fSZIlPDtXJ9IN2bx2aYd7tfn4HpZAJ072AeK0FMfsPN/Kmb2MILnc6CV1mDvWlovxLWniEsLKcIrJTCw203qjGDddw3JsgNneDm8EQ/itsHXZXeE4m35NcQg80e1lvAodgbjFieZCaoPswQoQEpjH6ffT2OKh06/BhfvOZAX6ugQzBI3jtxiW0asvrJKPlmgWCzQKakihvfulc0STGPJEsthar8KIik+MbRf9o6+LAA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cy4nsMTgmJA2CS3cNXnEX4NhjPl8Fz8MMIfaMLQpLUpWjzUuuT+2ssPOwJd7QUtalM/qFob+0I78StvcM6gq0/ZgU1jI/7ZvjdjitlVqB6J4CV3Ndh2e7aZkbj4IIE/vy08vPo31QIfNsAB4cBczpNwsJMVLYg2MxSPGu0yhkToyTwPty1aSx3Wv57VzP8spysm9xFsPW9nla7+f/symgTprIFL8fbrmKRR0ilmNGHm3Rb/YrQ0z+ucxmI5YZbmT9m+GuQG6qIx3B7sa2NZ7pWw2/vAMcFqMCneMPJVfRgv5IFEdDjrIueuw671O3ed/0tcHNStECufgyAVfyavyww==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Wei Liu <wl@xxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, "Juergen Gross" <jgross@xxxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, "George Dunlap" <George.Dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, "Stefano Stabellini" <sstabellini@xxxxxxxxxx>, Christian Lindig <christian.lindig@xxxxxxxxxx>, David Scott <dave@xxxxxxxxxx>, "Volodymyr Babchuk" <Volodymyr_Babchuk@xxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 25 Feb 2022 14:27:26 +0000
  • Ironport-data: A9a23:Lf4lBaC4GEIV9xVW/9Hjw5YqxClBgxIJ4kV8jS/XYbTApDInhTAEn DAaUW3XPPvcMzDwf9txPdi0ox5U6p7cm4MwQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMZiaA4E/raNANlFEkvU2ybuOU5NXsZ2YgHWeIdA970Ug5w7Rj39Yy6TSEK1jlV e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhW7 e12qJGfSzsIO4yUmb0PaEdbH3lHaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us 6ZCcXZUM07F17neLLGTE4GAguwBJc/meqYWvnhkxDfUJf0nXYrCU+PB4towMDIY2JwfTKqHN 5NxhTxHUzP7ajAeCk4rKMgfzMGluCjAVW1UtwfAzUYwyzeKl1EguFT3C/LZc8KHbd9YlUGZo iTB5WuRKgoBKNWVxD6B83StruzChyX2XMQVDrLQ3u5nhhify3IeDDUSVECnur+ph0imQdVdJ kcIvC00osAaykuvSdXsWgyil1SNtBUcRtl4HvUz7UeGza+8yxmdLngJSHhGctNOnM08SCEu1 1SJt8j0HjEpu7qQIVqf67OVoDWaKSUTa2gYakcsTwQf5ML4iJoulR+JRdFmeJNZlfWsR2u2m WrT6nFj2fND1qbnyplX43jgpgqXu5XmTDIU4ySPXzu31V16aNacMtnABUfg0d5MK4OQT1+kt XcCmtSD4O1mMaxhhBBhU81WQuj3uq/t3Cn0xAc2QsJ/r2jFF2uLINgIiAySMnuFJSrtldXBR EbI8T1c65ZIVJdBRf8mOtnhYyjGIEWJKDgEahw2RoYfCnSSXFXelM2LWaJ29zq8+KTLuftiU ap3ie72UR4n5V1PlVJavds1374x3TwZzmjOX539xBnP+ePAOCPKFe5ZbQPWNrhRAEa4TOP9q Yc32yyikUg3bQEDSnOPrd57wa4idxDX+qwaW+QIL7Xec2KK6UkqCuPLwKNJRmCWt/89qws8x VnkAhUw4AOm3RXvcFzWAlg+OOKHdcsu9hoTYH1zVWtELlB+OO5DGo9ELMBpFVTmncQ+pcNJo w4tIJ3RUqwSEW2co1zwr/DV9eRfSfhivirXVwKNazkjZZ9wAQvP/97vZAz08ycSSCGwsKMDT 3eIjGs3nbJrq9xeMfvr
  • Ironport-hdrordr: A9a23:LXTLLaDrbPykj53lHegbsceALOsnbusQ8zAXPh9KJiC9I/b1qy nxppkmPEfP+UsssHFJo6HkBEEZKUmsuaKdkrNhQYtKOzOW91dATbsSoLcKpgePJ8SQzJ8l6U 4NSdkcNDS0NykBsS+Y2nj3Lz9D+qj+zEnAv463pB0NLT2CKZsQlDuRYjzrSnGeLzM2YabRYa DsgPav0ADQHkj/AP7LZEUtbqzmnZnmhZjmaRkJC1oM8w+Vlw6l77b8Dlyxwgoeeykn+8ZizU H11yjCoomzufCyzRHRk0XJ6Y5NpdfnwtxfQOSRl8kuLCn2gArAXvUgZ1TChkF3nAic0idurD D+mWZlAy210QKXQoiBm2qu5+An6kdp15at8y7AvZKpm72HeNtzMbs+uWseSGqD16NohqAM7I tbm22erJZZFhXGgWD04MXJTQhjkg6urWMlivN7tQ0WbWIyUs4mkWUkxjIdLH7AJlOO1Kk3VO 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGcl2E+pgEy82IIgMgE2nsQ/pM0TJdJo+ zCL6RzjblLCssbd7h0CusNSda+TmbNXRXPOmSPJkmPLtBNB1vd75rspLkl7uCjf5IFiJM0hZ TaSVtd8XU/fkr/YPf+q6GjMiq9NFlVcQ6duf22vaIJyoEUbICbQxG+dA==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYJO0/E2Q9kBLnmUergICAnT03vayiyEcAgAAtrYCAAAFvgIABZk2A
  • Thread-topic: [PATCH v3 2/2] x86/xen: Allow per-domain usage of hardware virtualized APIC

On 24/02/2022 17:04, Jan Beulich wrote:
> On 24.02.2022 17:59, Jane Malalane wrote:
>> On 24/02/2022 14:16, Jan Beulich wrote:
>>> [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments 
>>> unless you have verified the sender and know the content is safe.
>>>
>>> On 18.02.2022 18:29, Jane Malalane wrote:
>>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>>> @@ -3333,15 +3333,15 @@ static void vmx_install_vlapic_mapping(struct vcpu 
>>>> *v)
>>>>    
>>>>    void vmx_vlapic_msr_changed(struct vcpu *v)
>>>>    {
>>>> -    int virtualize_x2apic_mode;
>>>> +    bool virtualize_x2apic_mode;
>>>>        struct vlapic *vlapic = vcpu_vlapic(v);
>>>>        unsigned int msr;
>>>>    
>>>>        virtualize_x2apic_mode = ( (cpu_has_vmx_apic_reg_virt ||
>>>>                                    cpu_has_vmx_virtual_intr_delivery) &&
>>>> -                               cpu_has_vmx_virtualize_x2apic_mode );
>>>> +                               v->domain->arch.hvm.assisted_x2apic );
>>>
>>> Following from my comment on patch 1, I'd expect this to become a simple
>>> assignment of v->domain->arch.hvm.assisted_x2apic (at which point the
>>> local variable could go away), just like ...
>>>
>>>> -    if ( !cpu_has_vmx_virtualize_apic_accesses &&
>>>> +    if ( !v->domain->arch.hvm.assisted_xapic &&
>>>>             !virtualize_x2apic_mode )
>>>>            return;
>>>
>>> ... here.
>> Previosuly we discussed setting v->domain->arch.hvm.assisted_xapic equal
>> to only cpu_has_vmx_virtualize_x2apic_mode, that's why I have those
>> additional checks as at least apic_reg_virt or virtual_intr_delivery are
>> needed for the subsequent parts of this function. I might be
>> misunderstanding your question.
> 
> My expectation would have been that assisted_x2apic_available is assigned
> what is (in context above) assigned to virtualize_x2apic_mode (in patch 1).
> Anything deviating from this needs, I think, explaining there.

Oh, sorry, I kept thinking you meant cpu_has_... instead of the local 
variable and it was just all confusing me. Would it help if I didn't use 
a local variable at all, or changed the name then. This is really just a 
check that is done before executing the code below in the function.

Thanks,

Jane.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.