Longman, On Thu, Nov 02, 2017 at 02:12:13PM -0400, Waiman Long wrote: > On 11/02/2017 02:08 PM, Eduardo Valentin wrote: > > On Thu, Nov 02, 2017 at 06:56:46PM +0100, Paolo Bonzini wrote: > >> On 02/11/2017 18:45, Eduardo Valentin wrote: > >>> Currently, the existing qspinlock implementation will fallback to > >>> test-and-set if the hypervisor has not set the PV_UNHALT flag. > >>> > >>> This patch gives the opportunity to guest kernels to select > >>> between test-and-set and the regular queueu fair lock implementation > >>> based on the PV_DEDICATED KVM feature flag. When the PV_DEDICATED > >>> flag is not set, the code will still fall back to test-and-set, > >>> but when the PV_DEDICATED flag is set, the code will use > >>> the regular queue spinlock implementation. > >> Have you seen Waiman's series that lets you specify this on the guest > >> command line instead? Would this be acceptable for your use case? > >> > > No, can you please share a link to it? is it already merged to tip/master? > > See https://lkml.org/lkml/2017/11/1/655 Oh I see, thanks. I think that patch would help, but I believe the series and this patch are complementary. Paolo, back to your question, I think this patch still makes sense in combination with Waiman's series for the following case: + * If this argument is not specified, the kernel will automatically choose + * an appropriate one depending on X86_FEATURE_HYPERVISOR and hypervisor + * specific settings. + */ In this case, the hypervisor can still flag PV_DEDICATED and the guest would not pick test&set, when that scenario is desirable. > > Cheers, > Longman > -- All the best, Eduardo Valentin