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


Groups > linux.kernel > #1726721

[PATCH 0/4] make virt_spin_lock() a pvops function

From Juergen Gross <jgross@suse.com>
Newsgroups linux.kernel
Subject [PATCH 0/4] make virt_spin_lock() a pvops function
Date 2017-09-05 15:30 +0200
Message-ID <umm5s-38R-9@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


With virt_spin_lock() being a pvops function the bare metal case can be
optimized by patching the call away completely. In case a kernel running
as a guest it can decide whether to use paravitualized spinlocks, the
current fallback 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/x86/kernel/paravirt_patch_32.c   | 18 ++++++-------
 arch/x86/kernel/paravirt_patch_64.c   | 17 +++++--------
 arch/x86/kernel/smpboot.c             |  2 ++
 arch/x86/xen/spinlock.c               |  2 ++
 9 files changed, 79 insertions(+), 45 deletions(-)

-- 
2.12.3

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


Thread

[PATCH 0/4] make virt_spin_lock() a pvops function Juergen Gross <jgross@suse.com> - 2017-09-05 15:30 +0200
  [PATCH 3/4] paravirt: add virt_spin_lock pvops function Juergen Gross <jgross@suse.com> - 2017-09-05 15:30 +0200
    Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Peter Zijlstra <peterz@infradead.org> - 2017-09-05 16:00 +0200
      Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Juergen Gross <jgross@suse.com> - 2017-09-05 16:10 +0200
    Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-05 16:10 +0200
      Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Peter Zijlstra <peterz@infradead.org> - 2017-09-05 16:10 +0200
        Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-05 16:20 +0200
    Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-05 16:20 +0200
      Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Juergen Gross <jgross@suse.com> - 2017-09-05 16:20 +0200
        Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-05 16:30 +0200
          Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-05 16:40 +0200
            Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Juergen Gross <jgross@suse.com> - 2017-09-05 16:50 +0200
            Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Peter Zijlstra <peterz@infradead.org> - 2017-09-06 09:10 +0200
              Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-06 14:50 +0200
                Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Peter Zijlstra <peterz@infradead.org> - 2017-09-06 15:10 +0200
                Re: [PATCH 3/4] paravirt: add virt_spin_lock pvops function Waiman Long <longman@redhat.com> - 2017-09-06 15:20 +0200

csiph-web