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

Re: [PATCH v2 04/70] x86/pv-shim: Don't modify the hypercall table


  • To: Andrew Cooper <amc96@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 14 Feb 2022 14:56:09 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=G3RnDTRuN0LOZ9KTsNssi8rwhMNqfVMlvZPFGWtpeS0=; b=lr998yDo1AhdZdrwcV7H/S7djuaqv2z6UMLz24jStYhfLO183p4g8GeVn/+VrpnhlGe54R/YGjG9m30gmlp8CKB6Unfy54NCcZX/mdGuhMwLSR1YdbO0g4EKtivfDSDE+WDpS6+vwF49st187WdwQDY7bT6JpfWvJazY4Ue8VvTXjR6msQvVY2qQi8nd421ImCjW7xwLBijrLZgigdpoi30bnQTbLu2XSRIY/IyVcyaHSBbOzv0RgVQC16jed+nOWWPoFOr6c8ffy+c074Rx+5hRkasGcVMegCznPHuQ4k+Tfga6sRYIeSk6i7fiHtxfFAVkqvQqTjAaV7BO7cpG4g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nLykGaT9eTadpRzGM4ALV8AW9R0W66DoULv8Jj6/Zpst9pO0RY/GzDq5JpRaaudTSIP2ExomQcULpRc2C42faGL1axZvxmAPDlk51KyyLc9q67uzr+mUCc5IZUVMleuPHOTojPlLy4svuvWmzkbzeeyHoFgZq+hitZR/9zNoZhMYXos5l76ilsHPfVZ2wmfikCHrftjsAhonPRbVVVhmTS2ZV1C6dVyB0jK1pR7KBKuJtftdDoVI9pqYNXMgl+ZA/NKuIvg+tDhYMntf2aeT6D4uT8CE+7qAzeTkYn1KEu9o0/tk3WT2SnJJkffybRjIKRP0DVy6vmWfi9v5iBom7Q==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Juergen Gross <jgross@xxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 14 Feb 2022 13:56:21 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 14.02.2022 14:50, Andrew Cooper wrote:
> On 14/02/2022 13:33, Jan Beulich wrote:
>> On 14.02.2022 13:50, Andrew Cooper wrote:
>>> From: Juergen Gross <jgross@xxxxxxxx>
>>>
>>> When running as pv-shim the hypercall is modified today in order to
>>> replace the functions for __HYPERVISOR_event_channel_op and
>>> __HYPERVISOR_grant_table_op hypercalls.
>>>
>>> Change this to call the related functions from the normal handlers
>>> instead when running as shim. The performance implications are not
>>> really relevant, as a normal production hypervisor will not be
>>> configured to support shim mode, so the related calls will be dropped
>>> due to optimization of the compiler.
>>>
>>> Note that for the CONFIG_PV_SHIM_EXCLUSIVE case there is a dummy
>>> wrapper do_grant_table_op() needed, as in this case grant_table.c
>>> isn't being built.
>>>
>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> I don't think you sync-ed this with Jürgen's v3. There were only minor
>> changes but having a stale version sent two months later isn't very
>> nice.
> 
> I did resync.  What do you think is missing?

A few likely() / unlikely() as far as I could see.

>>> --- a/xen/common/compat/multicall.c
>>> +++ b/xen/common/compat/multicall.c
>>> @@ -5,7 +5,7 @@
>>>  EMIT_FILE;
>>>  
>>>  #include <xen/types.h>
>>> -#include <xen/multicall.h>
>>> +#include <xen/hypercall.h>
>>>  #include <xen/trace.h>
>>>  
>>>  #define COMPAT
>>> @@ -19,7 +19,6 @@ static inline void xlat_multicall_entry(struct mc_state 
>>> *mcs)
>>>          mcs->compat_call.args[i] = mcs->call.args[i];
>>>  }
>>>  
>>> -DEFINE_XEN_GUEST_HANDLE(multicall_entry_compat_t);
>>>  #define multicall_entry      compat_multicall_entry
>>>  #define multicall_entry_t    multicall_entry_compat_t
>>>  #define do_multicall_call    compat_multicall_call
>> Jürgen's patch doesn't have any change to this file, and I'm afraid I
>> also don't see how these adjustments are related here. The commit
>> message sadly also doesn't help ...
> 
> The changes are very necessary to split it out of Juergen's series.
> 
> Without the adjustment, the correction of compat_platform_op()'s guest
> handle type from void to compat_platform_op_t doesn't compile.

Interesting. That's quite far from obvious in this context, so clarifying
the purpose in the description would seem helpful.

Coming back to the syncing with v3: Was this change the reason then why
you did drop my R-b?

Jan




 


Rackspace

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