Re: [PATCH] locking/paravirt: Fix performance regression on core bonded vCPU

2022-11-03 Thread Juergen Gross via Virtualization

On 03.11.22 14:58, johnnyaiai wrote:

Thanks for reply! I think nopvspin parameters controls
pvspinlock or native spinlock. a vm guest always running
on virtspin wheather nopvspin sets or not when EXITS_HALT
not supported by hypervisor. So provide a missing parameter
'novirtspin'.


Your patch is doing:

static_branch_disable(_spin_lock_key);

in case your parameter has been specified.

When running as Xen guest the related coding is doing:

static_branch_disable(_spin_lock_key);

Only when running as KVM guest there is a difference, but this could be changed
by modifying kvm_spinlock_init().

Having two parameters with the same or very similar semantics is not a good
idea IMO.


Juergen


OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Re: [PATCH] locking/paravirt: Fix performance regression on core bonded vCPU

2022-11-03 Thread Juergen Gross via Virtualization

On 03.11.22 13:13, johnnyaiai wrote:

From: johnnyaiai 

virt_spin_lock() is preferred over native qspinlock when
vCPU is preempted. But brings a lot of regression while
vCPU is not preempted. Provide a early param 'novirtlock'
to choose would be better.

will-it-scale/lock2_threads -s 10 -t 64
baselineafterpatch
559938   2166135

Signed-off-by: johnnyaiai 


That is exactly the purpose of the existing nopvspin parameter.


Juergen


OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization