Re: [PATCH v1 2/2] x86/hyperv: make HvNotifyLongSpinWait hypercall

From: Waiman Long
Date: Mon Oct 22 2018 - 14:01:52 EST


On 10/22/2018 01:31 PM, Peter Zijlstra wrote:
> On Mon, Oct 22, 2018 at 01:27:27PM -0400, Waiman Long wrote:
>
>>>> I agree with Juergen on that. I would suggest rename the
>>>> vcpu_is_preempted hook into a more generic vcpu_stop_spinning, perhaps,
>>>> so different hypervisors can act on the information accordingly. Adding
>>>> an extra parameter is fine.
>>> No; no extra parameters. vcpu_is_preempted() is a simple and intuitive
>>> interface. Why would we want to make it complicated?
>> Hyperv seems to do it in a somewhat different way by looking at the spin
>> counter and decide if it should continue. I don't know why they do that
>> and what advantage it has.
>>
>> The current patch is definitely not OK. A revised patch that makes use
>> of an existing paravirt hook will be more acceptable. Again, I would
>> like to see some performance figure and why they do it this way to see
>> if it is worthwhile to change the existing interface.
> Note that there are vcpu_is_preempted() users that are not in a
> spin-loop.

You are right. I forgot about that. In that case, someone has to prove
that using an alternative way to stop spinning really has a performance
advantage compared to what we already have today.

Cheers,
Longman