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

Re: [PATCH] x86/oprof: fix !HVM && !PV32 build


  • To: Jan Beulich <jbeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Fri, 16 Apr 2021 14:41:56 +0100
  • 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-SenderADCheck; bh=qXhPfiG0SayL8xY9zIMH8XBMLF2Wd+VFrEKVsHjucGc=; b=fgf3kMD7z0qebvEznVfsUoXmUzVbQQSvX9SjhJE+w0A29cdCNHLxy/0Zpdw6EEbtT4KcuMy68bz7GZkS3bM5gtYs6nSTKSzTicPdYbFVI0HcdSzj0zOxFTBByG7GjcAqk0uxpquLvWKacTMZV6ogEpZxrgaGUgda+A2j8rYA+7BxjPZdNTbxXkQSWcUl75EboJTSP1rrBSpXQ/lu0VY0Gjw/tgvPkwlmEseAnH5+01YzHEtwJECDRiaFZvO6jVKDuAgxsR3zysnlC7NdVIKUUVibYQGyf2VwAhe8qHXwaQeG++l9Q1eZB6TD1R5gFjIlkxriF5Gt+wSOOTITiK+Lxg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J9it81w3jqQV98uE8u/2i/WRQlI3PzCLCKy+WN3iDI4IZkkclJajW6F1I0cs3M1W67592k2tROqn7sQnN6EYjW1dfuSvCStLRgEAm3kIV4w8jhjnZ1IdXDZuzI0GT6vFs9Va0hyjcHt09yGRdl5kMnZbta0zD2id/fjdgcVMCt9V8nhWAmM//2A11ppMDfmDZyX8TGtO4f7tWSorjylb8UcjnMtMnCKmV99AVZCYv6RppnW4/JTpwSLh7ds8ANZ5jjWiygq5Z6JmnYiuLSQz1iwp0934Xa0Z7EpeXBcYsjA4YML7lwmgQTYw3+T9dtqx07KB1wJgpHePs2SrQcQEwQ==
  • Authentication-results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Delivery-date: Fri, 16 Apr 2021 13:42:09 +0000
  • Ironport-hdrordr: A9a23:3ztwGKGD+Y06eapRpLqFRZTXdLJzesId70hD6mlYcjYQWtCEls yogfQQ3QL1jjFUY307hdWcIsC7Lk/03aVepa0cJ62rUgWjgmunK4l+8ZDvqgeNJwTXzcQY76 tpdsFFZeHYJURmjMr8/QmzG8shxt7Cy6yzmeLC1R5WLD1CQYsI1XYdNi+wFEpqSA5aQb8wE5 SB7sRKzgDQBkg/RMK9G3UDQqz/vNXNjp3relorABQg5QmIg1qTmcLHOjKf2QoTVC4K/Kc6/Q H+4nHEz4iAk9X+8B/T0GfP849b8eGO9vJvDNGB4/JlUgnEpR2vYO1aKtq/lRAz5Nqi8VM71O TLyi1QRfhbz1P0UiWLrQD22w/muQxemEPK7VODm3PsrYjYaVsBerN8rLlUeBfY9EYs1esUuM kgvxP7xu9qJCjNkyjn69/DWwsCrDvRnVMYnfMOlHsaaIMCadZq3Pwi1XlIG5QNFj+S0vFALM BSCqjnlZRrWG+BY2uclmdix8HEZAVJIj62BmIGusCTzgFMmmF4w0Yy1KUk7wY93aN4ZJ9e6+ veNKN00JlIU88NdKp4QNwMWM2tFwX2MF3xGVPXBW6iOLAMOnrLpZKyyLIp5NuycJhN6Jcpgp zOXH5RqGZaQTOhNeS+mLlwtjzdSmS0WjrgjutE4YJih7H6TL33dQWeVVEHiaKb0rYiK/yef8 z2FINdAvflI2erM51OxRfCV55bLmRbeNEJu+w8R0mFrqvwW83Xn92eVMyWCKvmED4iVG+6KG AERiLPKMJJ6V3udWT/hDTXRnPxam3y9Z99C8Hhjq0u4blIErcJnhkeiFy/6M3OAyZFqLYKcE x3J66isq7TnxjzwU/4q0FSfjZNBEdc57vtF1lQoxURDk/yebEf//GWeWVY2mq7NgZyJvmmVz J3lhBSw+aaPpaQzSctB5aMKWSBlUYeo3qMUtM6lrCc49zmPrc1FIwvVqA0NQijLW01pS9a7E N4LCMUTE7WET3jzY+/ioYPOe3Zf95gxCGxIcBVrnrbnV6Gpd4mQ0YaWzLGa7/UvS8eAx5vwn Fh+a4Wh7SN3Ry1L3Ekveg+OFpQLFiMDKl+FwSDboVMkrXNcAV9JF36wwCyulUWQC7H5k8Sjm vuIWmxdevQClRQgHxez53n6Uh5bGmbYkJ2ZE1rqIEVLxW1hl9DlcuwIoaj2WqYbVUPhtsQNz zIehM+CAJjzdLf7m/epB+yUVEdgrk+NO3UC7ouN4zJ0nS2MYuSiOUtBPlP5qtoM9jor84GWe +SYBWuMTv9Eu8lsjbl/0oNCW1Rkj0JgPno0Brq4CyEx3Y5G+PVO0kjaLcBId2QhlKUDsqg4d Fct5YSsuSxOGmqNYLD5qHTcjJZKhTc5USxVPolrJhIvaQ08Jt/dqOrJgfg5TVi5lEZKsyxqW Y1BIJcy5rFMpV0f8MTdzlCl2BZ3+inHQ8OiEjOHuQ6fVsRlHfVMNOC3qrQpdMUczm8jTq1HW PazjZU8PjEVRaSzLI2C6o/JmJNdUg3gU4Sit+qRsn1CA+wcftE80f/GnihcKVFQKztI8Rckj 9Kp/WJlfSQbSz2xUT5uiZ6OLtH9yKCTdmpCAyBXc5O/NrSAyXBvoKapOqyhizwUz21dgAxgp BEb1UZaoB7sQYZ5bdHmhSae+jQuUIqk1xX/DFhmBrM4+GdkRnmNHADFxbYjJVQVSRUKV6Sg6 3+gLCl6Eg=
  • Ironport-sdr: ICjlh5Dc5G8OMGlVv/UVWrsj5540Z7XRm9CCPEPzmciN0uRna3YPIR67Lcj57q+2fpl0z5ibBJ 4+R/cO7CbbJHsoy+fSgUDeUq8vmwsOEfqqbkwOxNf45TMGXANlP0tdxaN7XH6rJCf3irykME54 JzSUZBowqfz+gf7iKaxM5eCB31/RsyMUtebdjk4bqUqn4xALypUZlwA19PYo7VUzlCJb3ZGVoD hWSCDXS9larIPyNcp99UnJnBFMndVBQJy/FJUAv8zSoyql2SDkwFUTnPcn/XcwkqKplpZID8mM Pv4=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 16/04/2021 09:16, Jan Beulich wrote:
> clang, at the very least, doesn't like unused inline functions, unless
> their definitions live in a header.
>
> Fixes: d23d792478 ("x86: avoid building COMPAT code when !HVM && !PV32")
> Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

I agree this will fix the build.  However, looking at the code, I'm not
sure the original CONFIG_COMPAT was correct.  In particular, ...

>
> --- a/xen/arch/x86/oprofile/backtrace.c
> +++ b/xen/arch/x86/oprofile/backtrace.c
> @@ -43,6 +43,7 @@ dump_hypervisor_backtrace(struct vcpu *v
>      return head->ebp;
>  }
>  
> +#ifdef CONFIG_COMPAT
>  static inline int is_32bit_vcpu(struct vcpu *vcpu)
>  {
>      if (is_hvm_vcpu(vcpu))

... this chunk of logic demonstrates that what oprofile is doing isn't
related to the Xen ABI in the slightest.

I think OProfile is misusing the guest handle infrastructure, and
shouldn't be using it for this task.

~Andrew

> @@ -50,6 +51,7 @@ static inline int is_32bit_vcpu(struct v
>      else
>          return is_pv_32bit_vcpu(vcpu);
>  }
> +#endif





 


Rackspace

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