2013-10-21 16:06:44

by Raghavendra K T

[permalink] [raw]
Subject: [PATCH] x86 kconfig: Add recommendation to enable paravirt spinlock

Since paravirt spinlock optimization are in 3.12 kernel, we have
very good performance benefit for paravirtualized KVM / Xen kernel.
Also we no longer suffer from 5% side effect on native kernel.

Signed-off-by: Raghavendra K T <[email protected]>
---
Would like to thank Sander for spotting and suggesting this.
pvspinlock benefit on KVM link: https://lkml.org/lkml/2013/8/6/178

Attilio's tests on native kernel impact:
http://blog.xen.org/index.php/2012/05/11/benchmarking-the-new-pv-ticketlock-implementation/

arch/x86/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f67e839..4ba9d32 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -638,10 +638,10 @@ config PARAVIRT_SPINLOCKS
spinlock implementation with something virtualization-friendly
(for example, block the virtual CPU rather than spinning).

- Unfortunately the downside is an up to 5% performance hit on
- native kernels, with various workloads.
+ It has minimal impact on native kernels and gives nice performance
+ benefit for paravirtualized KVM / Xen kernels.

- If you are unsure how to answer this question, answer N.
+ If you are unsure how to answer this question, answer Y.

source "arch/x86/xen/Kconfig"

--
1.7.11.7


2013-10-21 16:31:02

by Konrad Rzeszutek Wilk

[permalink] [raw]
Subject: Re: [PATCH] x86 kconfig: Add recommendation to enable paravirt spinlock

On Mon, Oct 21, 2013 at 09:35:08PM +0530, Raghavendra K T wrote:
> Since paravirt spinlock optimization are in 3.12 kernel, we have
> very good performance benefit for paravirtualized KVM / Xen kernel.
> Also we no longer suffer from 5% side effect on native kernel.

Yeey!
>
> Signed-off-by: Raghavendra K T <[email protected]>
> ---
> Would like to thank Sander for spotting and suggesting this.
> pvspinlock benefit on KVM link: https://lkml.org/lkml/2013/8/6/178
>
> Attilio's tests on native kernel impact:
> http://blog.xen.org/index.php/2012/05/11/benchmarking-the-new-pv-ticketlock-implementation/
>
> arch/x86/Kconfig | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f67e839..4ba9d32 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -638,10 +638,10 @@ config PARAVIRT_SPINLOCKS
> spinlock implementation with something virtualization-friendly
> (for example, block the virtual CPU rather than spinning).
>
> - Unfortunately the downside is an up to 5% performance hit on
> - native kernels, with various workloads.
> + It has minimal impact on native kernels and gives nice performance
> + benefit for paravirtualized KVM / Xen kernels.
>
> - If you are unsure how to answer this question, answer N.
> + If you are unsure how to answer this question, answer Y.
>
> source "arch/x86/xen/Kconfig"
>
> --
> 1.7.11.7
>

Subject: [tip:core/locking] x86/locking/kconfig: Update paravirt spinlock Kconfig description

Commit-ID: 4c4e4f61368164f326fe59e2156c70d7faa72c17
Gitweb: http://git.kernel.org/tip/4c4e4f61368164f326fe59e2156c70d7faa72c17
Author: Raghavendra K T <[email protected]>
AuthorDate: Mon, 21 Oct 2013 21:35:08 +0530
Committer: Ingo Molnar <[email protected]>
CommitDate: Sat, 26 Oct 2013 12:23:22 +0200

x86/locking/kconfig: Update paravirt spinlock Kconfig description

Since the paravirt spinlock optimizations went into the v3.12 kernel
we have a very good performance benefit for paravirtualized KVM / Xen
kernels. Also we no longer suffer from 5% side effect on native
kernel that is mentioned in the Kconfig entry.

So update the Kconfig entry accordingly.

pvspinlock benefit on KVM link:

https://lkml.org/lkml/2013/8/6/178

Attilio's tests on native kernel impact:

http://blog.xen.org/index.php/2012/05/11/benchmarking-the-new-pv-ticketlock-implementation/

Signed-off-by: Raghavendra K T <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/1382371508-3843-1-git-send-email-raghavendra.kt@linux.vnet.ibm.com
[ Updated the changelog. ]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ee2fb9d..a92572d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -638,10 +638,10 @@ config PARAVIRT_SPINLOCKS
spinlock implementation with something virtualization-friendly
(for example, block the virtual CPU rather than spinning).

- Unfortunately the downside is an up to 5% performance hit on
- native kernels, with various workloads.
+ It has a minimal impact on native kernels and gives a nice performance
+ benefit on paravirtualized KVM / Xen kernels.

- If you are unsure how to answer this question, answer N.
+ If you are unsure how to answer this question, answer Y.

source "arch/x86/xen/Kconfig"