Messages in this thread | | | Date | Tue, 8 Sep 2015 12:05:51 +0200 | From | Peter Zijlstra <> | Subject | Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression |
| |
On Mon, Sep 07, 2015 at 01:45:18PM -0700, Linus Torvalds wrote: > On Sun, Sep 6, 2015 at 11:57 PM, Peter Zijlstra <peterz@infradead.org> wrote: > > > > Just to continue the argument for arguments sake, the function is named > > 'virt' (not paravirt) and tests the HYPERVISOR CPUID bit. How is that > > not appropriately named? > > Well, I think right now one issue is that you can't avoid it, even > when you want pure "raw hardware" spinlocks.
The host could choose not to set the HYPERVISOR CPUID bit, but yes point taken, and I've got a patch to make it conditional on a CONFIG thingy.
> I really think it should at the very least be inside CONFIG_PARAVIRT. > Because it *is* about helping the hypervisor, so really is about > paravirtualization.
Ah, so I think the confusion is in what we consider paravirt to mean. My definition of paravirt is that its a form of virtualization where the guest and host communicate over a software channel.
In this case; the guest does not talk to the host, there is no hypercall, no host support required. Therefore this is not paravirt.
Wikipedia: https://en.wikipedia.org/wiki/Paravirtualization
Seems to agree with such a definition.
In any case, no strong feelings either way; the current patch that I've got uses CONFIG_HYPERVISOR_GUEST, but I'm happy to change that to CONFIG_PARAVIRT.
| |