Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function
From: Waiman Long <longman@redhat.com>
Date: 2017-09-06 13:11:40
On 09/06/2017 09:06 AM, Peter Zijlstra wrote:
On Wed, Sep 06, 2017 at 08:44:09AM -0400, Waiman Long wrote:quoted
On 09/06/2017 03:08 AM, Peter Zijlstra wrote:quoted
Guys, please trim email. On Tue, Sep 05, 2017 at 10:31:46AM -0400, Waiman Long wrote:quoted
For clarification, I was actually asking if you consider just adding one more jump label to skip it for Xen/KVM instead of making virt_spin_lock() a pv-op.I don't understand. What performance are you worried about. Native will now do: "xor rax,rax; jnz some_cold_label" that's fairly trival code.It is not native that I am talking about. I am worry about VM with non-Xen/KVM hypervisor where virt_spin_lock() will actually be called. Now that function will become a callee-saved function call instead of being inlined into the native slowpath function.But only if we actually end up using the test-and-set thing, because if you have paravirt we end up using that.
I am talking about scenario like a kernel with paravirt spinlock running in a VM managed by VMware, for example. We may not want to penalize them while there are alternatives with less penalty. Cheers, Longman