Displaying 20 results from an estimated 61 matches for "xen_nopvspin".
2017 Nov 01
2
[PATCH-tip v2 2/2] x86/xen: Deprecate xen_nopvspin
On 11/01/2017 04:58 PM, Waiman Long wrote:
> +/* TODO: To be removed in a future kernel version */
> static __init int xen_parse_nopvspin(char *arg)
> {
> - xen_pvspin = false;
> + pr_warn("xen_nopvspin is deprecated, replace it with \"pvlock_type=queued\"!\n");
> + if (!pv_spinlock_type)
> + pv_spinlock_type = locktype_queued;
Since we currently end up using unfair locks and because you are
deprecating xen_nopvspin I wonder whether it would be better to set this
to locktype...
2017 Nov 01
2
[PATCH-tip v2 2/2] x86/xen: Deprecate xen_nopvspin
On 11/01/2017 04:58 PM, Waiman Long wrote:
> +/* TODO: To be removed in a future kernel version */
> static __init int xen_parse_nopvspin(char *arg)
> {
> - xen_pvspin = false;
> + pr_warn("xen_nopvspin is deprecated, replace it with \"pvlock_type=queued\"!\n");
> + if (!pv_spinlock_type)
> + pv_spinlock_type = locktype_queued;
Since we currently end up using unfair locks and because you are
deprecating xen_nopvspin I wonder whether it would be better to set this
to locktype...
2017 Nov 01
0
[PATCH-tip v2 2/2] x86/xen: Deprecate xen_nopvspin
With the new pvlock_type kernel parameter, xen_nopvspin is no longer
needed. This patch deprecates the xen_nopvspin parameter by removing
its documentation and treating it as an alias of "pvlock_type=queued".
Signed-off-by: Waiman Long <longman at redhat.com>
---
Documentation/admin-guide/kernel-parameters.txt | 4 ----
arch/x86/xen/s...
2017 Nov 01
2
[PATCH] x86/paravirt: Add kernel parameter to choose paravirt lock type
...t lock types so that they can come
>> up with a better algorithm to pick the best lock type.
>>
>> The hypervisor paravirt spinlock code will override this new parameter
>> in determining if pvqspinlock should be used. The parameter, however,
>> will override Xen's xen_nopvspin in term of disabling unfair lock.
> Hmm, I'm not sure we need pvlock_type _and_ xen_nopvspin. What do others
> think?
I don't think we need xen_nopvspin, but I don't want to remove that
without agreement from the community.
>> DEFINE_STATIC_KEY_TRUE(virt_spin_lock_key);
&g...
2017 Nov 01
2
[PATCH] x86/paravirt: Add kernel parameter to choose paravirt lock type
...t lock types so that they can come
>> up with a better algorithm to pick the best lock type.
>>
>> The hypervisor paravirt spinlock code will override this new parameter
>> in determining if pvqspinlock should be used. The parameter, however,
>> will override Xen's xen_nopvspin in term of disabling unfair lock.
> Hmm, I'm not sure we need pvlock_type _and_ xen_nopvspin. What do others
> think?
I don't think we need xen_nopvspin, but I don't want to remove that
without agreement from the community.
>> DEFINE_STATIC_KEY_TRUE(virt_spin_lock_key);
&g...
2017 Nov 02
0
[PATCH-tip v2 2/2] x86/xen: Deprecate xen_nopvspin
On 11/01/2017 06:01 PM, Boris Ostrovsky wrote:
> On 11/01/2017 04:58 PM, Waiman Long wrote:
>> +/* TODO: To be removed in a future kernel version */
>> static __init int xen_parse_nopvspin(char *arg)
>> {
>> - xen_pvspin = false;
>> + pr_warn("xen_nopvspin is deprecated, replace it with \"pvlock_type=queued\"!\n");
>> + if (!pv_spinlock_type)
>> + pv_spinlock_type = locktype_queued;
> Since we currently end up using unfair locks and because you are
> deprecating xen_nopvspin I wonder whether it would be better to set...
2017 Nov 01
3
[PATCH-tip v2 0/2] x86/paravirt: Enable users to choose PV lock type
v1->v2:
- Make pv_spinlock_type a bit mask for easier checking.
- Add patch 2 to deprecate xen_nopvspin
v1 - https://lkml.org/lkml/2017/11/1/381
Patch 1 adds a new pvlock_type parameter for the administrators to
specify the type of lock to be used in a para-virtualized kernel.
Patch 2 deprecates Xen's xen_nopvspin parameter as it is no longer
needed.
Waiman Long (2):
x86/paravirt: Add kerne...
2017 Nov 01
3
[PATCH-tip v2 0/2] x86/paravirt: Enable users to choose PV lock type
v1->v2:
- Make pv_spinlock_type a bit mask for easier checking.
- Add patch 2 to deprecate xen_nopvspin
v1 - https://lkml.org/lkml/2017/11/1/381
Patch 1 adds a new pvlock_type parameter for the administrators to
specify the type of lock to be used in a para-virtualized kernel.
Patch 2 deprecates Xen's xen_nopvspin parameter as it is no longer
needed.
Waiman Long (2):
x86/paravirt: Add kerne...
2017 Sep 06
0
[PATCH v2 2/2] paravirt,xen: correct xen_nopvspin case
With the boot parameter "xen_nopvspin" specified a Xen guest should not
make use of paravirt spinlocks, but behave as if running on bare
metal. This is not true, however, as the qspinlock code will fall back
to a test-and-set scheme when it is detecting a hypervisor.
In order to avoid this disable the virt_spin_lock_key.
Signed-...
2017 Nov 01
0
[PATCH] x86/paravirt: Add kernel parameter to choose paravirt lock type
...they can come
>>> up with a better algorithm to pick the best lock type.
>>>
>>> The hypervisor paravirt spinlock code will override this new parameter
>>> in determining if pvqspinlock should be used. The parameter, however,
>>> will override Xen's xen_nopvspin in term of disabling unfair lock.
>> Hmm, I'm not sure we need pvlock_type _and_ xen_nopvspin. What do others
>> think?
> I don't think we need xen_nopvspin, but I don't want to remove that
> without agreement from the community.
I also don't think xen_nopvspin wi...
2017 Sep 06
5
[PATCH v3 0/2] guard virt_spin_lock() with a static key
....
V3:
- remove test for hypervisor environment from virt_spin_lock(9 as
suggested by Waiman Long
V2:
- use static key instead of making virt_spin_lock() a pvops function
Juergen Gross (2):
paravirt/locks: use new static key for controlling call of
virt_spin_lock()
paravirt,xen: correct xen_nopvspin case
arch/x86/include/asm/qspinlock.h | 11 ++++++++++-
arch/x86/kernel/paravirt-spinlocks.c | 6 ++++++
arch/x86/kernel/smpboot.c | 2 ++
arch/x86/xen/spinlock.c | 2 ++
kernel/locking/qspinlock.c | 4 ++++
5 files changed, 24 insertions(+), 1 deletion(-...
2017 Sep 06
5
[PATCH v3 0/2] guard virt_spin_lock() with a static key
....
V3:
- remove test for hypervisor environment from virt_spin_lock(9 as
suggested by Waiman Long
V2:
- use static key instead of making virt_spin_lock() a pvops function
Juergen Gross (2):
paravirt/locks: use new static key for controlling call of
virt_spin_lock()
paravirt,xen: correct xen_nopvspin case
arch/x86/include/asm/qspinlock.h | 11 ++++++++++-
arch/x86/kernel/paravirt-spinlocks.c | 6 ++++++
arch/x86/kernel/smpboot.c | 2 ++
arch/x86/xen/spinlock.c | 2 ++
kernel/locking/qspinlock.c | 4 ++++
5 files changed, 24 insertions(+), 1 deletion(-...
2017 Sep 06
4
[PATCH v2 0/2] guard virt_spin_lock() with a static key
...locks, the current fallback to the unfair test-and-set scheme, or
to mimic the bare metal behavior.
V2:
- use static key instead of making virt_spin_lock() a pvops function
Juergen Gross (2):
paravirt/locks: use new static key for controlling call of
virt_spin_lock()
paravirt,xen: correct xen_nopvspin case
arch/x86/include/asm/qspinlock.h | 11 +++++++++++
arch/x86/kernel/paravirt-spinlocks.c | 6 ++++++
arch/x86/kernel/smpboot.c | 2 ++
arch/x86/xen/spinlock.c | 2 ++
kernel/locking/qspinlock.c | 4 ++++
5 files changed, 25 insertions(+)
--
2.12.3
2017 Sep 06
4
[PATCH v2 0/2] guard virt_spin_lock() with a static key
...locks, the current fallback to the unfair test-and-set scheme, or
to mimic the bare metal behavior.
V2:
- use static key instead of making virt_spin_lock() a pvops function
Juergen Gross (2):
paravirt/locks: use new static key for controlling call of
virt_spin_lock()
paravirt,xen: correct xen_nopvspin case
arch/x86/include/asm/qspinlock.h | 11 +++++++++++
arch/x86/kernel/paravirt-spinlocks.c | 6 ++++++
arch/x86/kernel/smpboot.c | 2 ++
arch/x86/xen/spinlock.c | 2 ++
kernel/locking/qspinlock.c | 4 ++++
5 files changed, 25 insertions(+)
--
2.12.3
2017 Nov 01
2
[PATCH] x86/paravirt: Add kernel parameter to choose paravirt lock type
...an also use
that to experiment with different lock types so that they can come
up with a better algorithm to pick the best lock type.
The hypervisor paravirt spinlock code will override this new parameter
in determining if pvqspinlock should be used. The parameter, however,
will override Xen's xen_nopvspin in term of disabling unfair lock.
Signed-off-by: Waiman Long <longman at redhat.com>
---
Documentation/admin-guide/kernel-parameters.txt | 7 +++++
arch/x86/include/asm/paravirt.h | 9 ++++++
arch/x86/kernel/kvm.c | 4 +++
arch/x86/kernel/paravir...
2017 Nov 01
2
[PATCH] x86/paravirt: Add kernel parameter to choose paravirt lock type
...an also use
that to experiment with different lock types so that they can come
up with a better algorithm to pick the best lock type.
The hypervisor paravirt spinlock code will override this new parameter
in determining if pvqspinlock should be used. The parameter, however,
will override Xen's xen_nopvspin in term of disabling unfair lock.
Signed-off-by: Waiman Long <longman at redhat.com>
---
Documentation/admin-guide/kernel-parameters.txt | 7 +++++
arch/x86/include/asm/paravirt.h | 9 ++++++
arch/x86/kernel/kvm.c | 4 +++
arch/x86/kernel/paravir...
2017 Sep 05
7
[PATCH 0/4] make virt_spin_lock() a pvops function
...llback to the unfair test-and-set scheme, or to mimic the
bare metal behavior.
Juergen Gross (4):
paravirt: add generic _paravirt_false() function
paravirt: switch vcpu_is_preempted to use _paravirt_false() on bare
metal
paravirt: add virt_spin_lock pvops function
paravirt,xen: correct xen_nopvspin case
arch/x86/include/asm/paravirt.h | 5 ++++
arch/x86/include/asm/paravirt_types.h | 3 +++
arch/x86/include/asm/qspinlock.h | 48 ++++++++++++++++++++++++-----------
arch/x86/kernel/paravirt-spinlocks.c | 22 ++++++++--------
arch/x86/kernel/paravirt.c | 7 +++++
arch...
2017 Sep 05
7
[PATCH 0/4] make virt_spin_lock() a pvops function
...llback to the unfair test-and-set scheme, or to mimic the
bare metal behavior.
Juergen Gross (4):
paravirt: add generic _paravirt_false() function
paravirt: switch vcpu_is_preempted to use _paravirt_false() on bare
metal
paravirt: add virt_spin_lock pvops function
paravirt,xen: correct xen_nopvspin case
arch/x86/include/asm/paravirt.h | 5 ++++
arch/x86/include/asm/paravirt_types.h | 3 +++
arch/x86/include/asm/qspinlock.h | 48 ++++++++++++++++++++++++-----------
arch/x86/kernel/paravirt-spinlocks.c | 22 ++++++++--------
arch/x86/kernel/paravirt.c | 7 +++++
arch...
2017 Nov 01
0
[PATCH] x86/paravirt: Add kernel parameter to choose paravirt lock type
...iment with different lock types so that they can come
> up with a better algorithm to pick the best lock type.
>
> The hypervisor paravirt spinlock code will override this new parameter
> in determining if pvqspinlock should be used. The parameter, however,
> will override Xen's xen_nopvspin in term of disabling unfair lock.
Hmm, I'm not sure we need pvlock_type _and_ xen_nopvspin. What do others
think?
>
> Signed-off-by: Waiman Long <longman at redhat.com>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 7 +++++
> arch/x86/include/asm/paravirt.h...
2017 Sep 05
3
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
On 09/05/2017 10:18 AM, Juergen Gross wrote:
> On 05/09/17 16:10, Waiman Long wrote:
>> On 09/05/2017 09:24 AM, Juergen Gross wrote:
>>> There are cases where a guest tries to switch spinlocks to bare metal
>>> behavior (e.g. by setting "xen_nopvspin" boot parameter). Today this
>>> has the downside of falling back to unfair test and set scheme for
>>> qspinlocks due to virt_spin_lock() detecting the virtualized
>>> environment.
>>>
>>> Make virt_spin_lock() a paravirt operation in order to enab...