Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1726523

Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV spinlock

From Juergen Gross <jgross@suse.com>
Newsgroups linux.kernel
Subject Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV spinlock
Date 2017-09-05 10:20 +0200
Message-ID <umhfs-el-9@gated-at.bofh.it> (permalink)
References (2 earlier) <um82t-2P6-7@gated-at.bofh.it> <umfx0-7Ad-15@gated-at.bofh.it> <umg01-7JL-5@gated-at.bofh.it> <umgCL-8ei-21@gated-at.bofh.it> <umhfs-el-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 05/09/17 10:10, Peter Zijlstra wrote:
> On Tue, Sep 05, 2017 at 09:35:40AM +0200, Juergen Gross wrote:
>>> So the problem with qspinlock is that it will revert to a classic
>>> test-and-set spinlock if you don't do paravirt but are running a HV.
>>
>> In the Xen case we just use the bare metal settings when xen_nopvspin
>> has been specified. So paravirt, but without modifying any pv_lock_ops
>> functions.
> 
> See arch/x86/include/asm/qspinlock.h:virt_spin_lock(). Unless you clear
> X86_FEATURE_HYPERVISOR you get a test-and-set spinlock.
> 
> And as the comment there says, this is a fallback for !paravirt enabled
> hypervisors to avoid the worst of the lock holder preemption crud.
> 
> But this very much does not deal with the 1:1 case nicely.
> 

Aah, now I've got it.

So maybe we should add virt_spin_lock() to pv_lock_ops? This way e.g.
xen_nopvspin could tweak just the virt_spin_lock() case by letting it
return false all the time?

In case you agree I can setup a patch...


Juergen

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH resend] x86,kvm: Add a kernel parameter to disable PV spinlock Oscar Salvador <osalvador@suse.de> - 2017-09-04 16:40 +0200
  Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Peter Zijlstra <peterz@infradead.org> - 2017-09-04 16:50 +0200
    Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Waiman Long <longman@redhat.com> - 2017-09-04 21:40 +0200
    Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Davidlohr Bueso <dave@stgolabs.net> - 2017-09-05 00:30 +0200
      Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Juergen Gross <jgross@suse.com> - 2017-09-05 08:30 +0200
        Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Peter Zijlstra <peterz@infradead.org> - 2017-09-05 09:00 +0200
          Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Juergen Gross <jgross@suse.com> - 2017-09-05 09:40 +0200
            Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Juergen Gross <jgross@suse.com> - 2017-09-05 10:20 +0200
              Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Peter Zijlstra <peterz@infradead.org> - 2017-09-05 10:30 +0200
                Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Juergen Gross <jgross@suse.com> - 2017-09-05 11:00 +0200
                Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Peter Zijlstra <peterz@infradead.org> - 2017-09-05 11:10 +0200
                Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Juergen Gross <jgross@suse.com> - 2017-09-05 11:20 +0200
            Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Peter Zijlstra <peterz@infradead.org> - 2017-09-05 10:20 +0200
        Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Oscar Salvador <osalvador@suse.de> - 2017-09-05 09:00 +0200
          Re: [PATCH resend] x86,kvm: Add a kernel parameter to disable PV  spinlock Peter Zijlstra <peterz@infradead.org> - 2017-09-05 10:10 +0200

csiph-web