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

Re: [PATCH v3] x86/hvm: Widen condition for is_hvm_pv_evtchn_domain() and report fix in CPUID


  • To: Jan Beulich <jbeulich@xxxxxxxx>, Jane Malalane <jane.malalane@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Tue, 24 May 2022 18:15:45 +0200
  • 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=bic+FVCBiOdBeEsuUkPpsfdFF/0ZeMDB1NQpH7jaHwM=; b=Ia1NuBlK7M3Yx3xPHybeKRvKpPdR+Glfwvw8FjNpwOoO7QxZybHp1ri+3Fzn0BVFFW8DB1OiGR14HPMFbYwZXDQ+uSfL+6FUw46e0kYdzdAjzc89JOtYOPyhyz28IU9R5IpaTT7OB7GmcKuTI1lqNTytY1YbaN/gMf2ogG3k+hRNzHKPGBP3AbbSzn6pLkkoQosYp9wmnInKNVT4RaCuWM7CxsM/up2HsIuMd9h1NMrrOdAnO4IDNC032diUdsUkiEZkf5MKGR/jk9YsjGwILJHICqauatPd0dmYjurj9RPD1FsQA8Z7c2FawCR/u9mqrOKnt+mHKknvOev2g+9O4A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aXFwxV1iBVQxFMpCU3h7ufqtsM2KzLP09GmXFHvS8zvLHoQDZvBEB4f0dpbM4ersNrJiGCPmo39d5bDBmkf3R3ivzNfIxd3F7ice39prx9QzFgGzZaPoaltEuSE8uNqmENDuhqfhZW88LmIoh4GGHUC8upJBNbBVsgZhhU/d/LmDi+UKFkSwNXb6Pw6zM3BkeFKeaFlMbWMZnR4oGPpPUX8jQhHeCW0ZLFObCMoJNS8AHBT6cj8myk/jr1ISTxv79YYIaYoU1qasPI4JUHJEc9rfX2IxMBPIxzTLpQvLuegjBT/JyzV+IWos/HBtEc8qLN8+PkKErUEDJF9FMXNojg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 24 May 2022 16:16:04 +0000
  • Ironport-data: A9a23:aO2UualzXFJkSo/PFGbQ0xro5gz1J0RdPkR7XQ2eYbSJt1+Wr1Gzt xJNXzqOPa6LMzP9e4t1Ooi1oxxQuJ7dxtEwQQFo+y48ECMWpZLJC+rCIxarNUt+DCFioGGLT Sk6QoOdRCzhZiaE/n9BCpC48T8kk/vgqoPUUIYoAAgoLeNfYHpn2EsLd9IR2NYy24DkWV/V4 7senuWEULOb828sWo4rw/rrRCNH5JwebxtB4zTSzdgS1LPvvyF94KA3fMldHFOhKmVgJcaoR v6r8V2M1jixEyHBqD+Suu2TnkUiGtY+NOUV45Zcc/DKbhNq/kTe3kunXRa1hIg+ZzihxrhMJ NtxWZOYZAcXEqLuh+4mVCJGSBh3E5JM9ufIGC3q2SCT5xWun3rE5dxLVRhzFqpBv+F9DCdJ6 OASLy0LYlabneWqzbmnS+5qwMM+MM3sO4BZsXZlpd3bJa9+HdafHOOXu5kBg21YasNmRJ4yY +IDbjVidlLYagBnMVYLEpMu2uyvgxETdhUH8Q7O9fRovwA/yiRP/bLLNOTMQeaQVMhqlHeUh GOf0172V0Ry2Nu3jGDtHmiXru3FkD7/WYkSPKal7fMsi1qWrkQMDDUGWF39puO24mauVtQaJ 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4LgEhwASEy66R6AHAAGEBF2dFcIZ/65VwQiE23 FiUmd+vHSZorLCeVXOa8PGTsC+2Pi8Wa2QFYEfoUDc43jUqm6lr5jqnczqpOPXdYgHdcd0o/ w23kQ==
  • Ironport-hdrordr: A9a23:AFRMHa6PPVc/hcgliwPXwVSBI+orL9Y04lQ7vn2ZFiY5TiXIra qTdaogviMc6Ax/ZJjvo6HkBEClewKlyXcV2/hpAV7GZmXbUQSTTL2KgbGSoAEIXheOjdK1tp 0QD5SWaueAamSS5PySiGfYLz9j+qjgzEnBv5ai854Hd3APV0gP1XYaNu7NeXcGPjWuSKBJYq a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWySw71M7aXdi0L0i+W /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYLbhJavmnhnQYseuv4FElnJ 3lpAohBd167zfrcmS8sXLWqnzd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ g7k16xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklXavoJBiKprzPLd MeTf01vJ1tABOnhjHizyNSKeWXLzsO9kzseDlAhiSXuwIm7kyRgXFohvD3pU1wiq7Ve6M0mN gsDZ4Y5Y2mbvVmGZ6VV91xNvdeNAT2MGLxGVPXB2jbP4c6HF+Ig6LLwdwOlZKXkdozvdAPpK g=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Tue, May 24, 2022 at 05:14:12PM +0200, Jan Beulich wrote:
> On 18.05.2022 15:27, Jane Malalane wrote:
> > --- a/xen/arch/x86/include/asm/domain.h
> > +++ b/xen/arch/x86/include/asm/domain.h
> > @@ -14,8 +14,14 @@
> >  
> >  #define has_32bit_shinfo(d)    ((d)->arch.has_32bit_shinfo)
> >  
> > +/*
> > + * Set to true if either the global vector-type callback or per-vCPU
> > + * LAPIC vectors are used. Assume all vCPUs will use
> > + * HVMOP_set_evtchn_upcall_vector as long as the initial vCPU does.
> > + */
> >  #define is_hvm_pv_evtchn_domain(d) (is_hvm_domain(d) && \
> > -        (d)->arch.hvm.irq->callback_via_type == HVMIRQ_callback_vector)
> > +        ((d)->arch.hvm.irq->callback_via_type == HVMIRQ_callback_vector || 
> > \
> > +         (d)->vcpu[0]->arch.hvm.evtchn_upcall_vector))
> >  #define is_hvm_pv_evtchn_vcpu(v) (is_hvm_pv_evtchn_domain(v->domain))
> 
> I continue to think that with the vCPU0 dependency added to
> is_hvm_pv_evtchn_domain(), is_hvm_pv_evtchn_vcpu() should either
> be adjusted as well (to check the correct vCPU's field) or be
> deleted (and the sole caller be replaced).

I would be fine with replacing, the sole caller of
is_hvm_pv_evtchn_vcpu(v) is never reached if the upcall vector is in
use.

Thanks, Roger.



 


Rackspace

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