Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1220385 > unrolled thread
| Started by | Linus Torvalds <torvalds@linux-foundation.org> |
|---|---|
| First post | 2015-09-07 22:50 +0200 |
| Last post | 2015-09-08 19:50 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression Linus Torvalds <torvalds@linux-foundation.org> - 2015-09-07 22:50 +0200
Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression Davidlohr Bueso <dave@stgolabs.net> - 2015-09-08 08:40 +0200
Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression Peter Zijlstra <peterz@infradead.org> - 2015-09-08 12:10 +0200
Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression Linus Torvalds <torvalds@linux-foundation.org> - 2015-09-08 19:50 +0200
| From | Linus Torvalds <torvalds@linux-foundation.org> |
|---|---|
| Date | 2015-09-07 22:50 +0200 |
| Subject | Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression |
| Message-ID | <q6bwt-863-15@gated-at.bofh.it> |
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.
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.
So naming is misleading, I think, and the config option situation is
not great. If you act differently under virtualization than you do on
raw hardware, what would you call that? I'd call it "paravirt".
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Davidlohr Bueso <dave@stgolabs.net> |
|---|---|
| Date | 2015-09-08 08:40 +0200 |
| Subject | Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression |
| Message-ID | <q6kJs-4IZ-15@gated-at.bofh.it> |
| In reply to | #1220385 |
On Mon, 07 Sep 2015, 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. > >I really think it should at the very least be inside CONFIG_PARAVIRT. Yeah, I think we all agree here. >Because it *is* about helping the hypervisor, so really is about >paravirtualization. Yes, this is how I interpret it as well. CONFIG_PARAVIRT seems like a suitable place as while it is known to induce in overhead for baremetal and distros tend to enable it by default - mainly for mem pvops (ie: in page fault paths), and having this function doesn't add any complexity or add make things much different than they already are. While it is true that CONFIG_HYPERVISOR_GUEST is a pre-req for anything pv, technically I think it's not as good a fit as CONFIG_PARAVIRT because the former is really about describing the hypervisor, and that's not what we're doing here. Thanks, Davidlohr -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Date | 2015-09-08 12:10 +0200 |
| Subject | Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression |
| Message-ID | <q6o0H-15W-71@gated-at.bofh.it> |
| In reply to | #1220385 |
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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Linus Torvalds <torvalds@linux-foundation.org> |
|---|---|
| Date | 2015-09-08 19:50 +0200 |
| Message-ID | <q6vbQ-2PL-25@gated-at.bofh.it> |
| In reply to | #1220678 |
On Tue, Sep 8, 2015 at 3:05 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>
> 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.
Like an architected bit in cpuid that the host sets if it wants the
guest to change its behavior?
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web