[PATCH 4/7] x86/hyperv: implement rep hypercalls

Vitaly Kuznetsov vkuznets at redhat.com
Mon Apr 10 09:00:00 UTC 2017


Jork Loeser <Jork.Loeser at microsoft.com> writes:

>> -----Original Message-----
>> From: Vitaly Kuznetsov [mailto:vkuznets at redhat.com]
>> Sent: Friday, April 7, 2017 04:27
>> To: devel at linuxdriverproject.org; x86 at kernel.org
>> Cc: linux-kernel at vger.kernel.org; KY Srinivasan <kys at microsoft.com>;
>> Haiyang Zhang <haiyangz at microsoft.com>; Stephen Hemminger
>> <sthemmin at microsoft.com>; Thomas Gleixner <tglx at linutronix.de>; Ingo
>> Molnar <mingo at redhat.com>; H. Peter Anvin <hpa at zytor.com>; Steven
>> Rostedt <rostedt at goodmis.org>; Jork Loeser <Jork.Loeser at microsoft.com>
>> Subject: [PATCH 4/7] x86/hyperv: implement rep hypercalls
>
>> diff --git a/arch/x86/include/asm/mshyperv.h
>> b/arch/x86/include/asm/mshyperv.h index 9a5f58b..a2c996b 100644
>> --- a/arch/x86/include/asm/mshyperv.h
>> +++ b/arch/x86/include/asm/mshyperv.h
>> @@ -4,6 +4,7 @@
>>  #include <linux/types.h>
>>  #include <linux/interrupt.h>
>>  #include <linux/clocksource.h>
>> +#include <linux/nmi.h>
>>  #include <asm/hyperv.h>
>> 
>>  /*
>> @@ -253,6 +254,26 @@ static inline u64 hv_do_fast_hypercall8(u16 code,
>> u64 input1)  #endif  }
>> 
>> +static inline u64 hv_do_rep_hypercall(u16 code, u16 rep_count, void
>> *input,
>> +				      void *output)
>> +{
>> +	union hv_hypercall_input hc_input = { .code = code,
>> +					      .rep_count = rep_count};
>
> Is there a way to statically verify the re-count not to exceed 12 bits? Could a dynamic check be justified? Perhaps a function comment?

I'd like to avoid dynamic checks here to keep this as fast as
possible. Static check is probably not an option as even the only user
we have now calculates this parameter dynamically. I'll add a comment to
the function, thanks!

-- 
  Vitaly


More information about the devel mailing list