search for: __native_virt_spin_lock

Displaying 8 results from an estimated 8 matches for "__native_virt_spin_lock".

2017 Sep 05
2
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
...locks.c > index 26e4bd92f309..1be187ef8a38 100644 > --- a/arch/x86/kernel/paravirt-spinlocks.c > +++ b/arch/x86/kernel/paravirt-spinlocks.c > @@ -20,6 +20,12 @@ bool pv_is_native_spin_unlock(void) > __raw_callee_save___native_queued_spin_unlock; > } > > +__visible bool __native_virt_spin_lock(struct qspinlock *lock) > +{ > + return native_virt_spin_lock(lock); > +} > +PV_CALLEE_SAVE_REGS_THUNK(__native_virt_spin_lock); I have some concern about the overhead of register saving/restoring have on spin lock performance in case the kernel is under a non-KVM/Xen hypervisor. Chee...
2017 Sep 05
2
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
...locks.c > index 26e4bd92f309..1be187ef8a38 100644 > --- a/arch/x86/kernel/paravirt-spinlocks.c > +++ b/arch/x86/kernel/paravirt-spinlocks.c > @@ -20,6 +20,12 @@ bool pv_is_native_spin_unlock(void) > __raw_callee_save___native_queued_spin_unlock; > } > > +__visible bool __native_virt_spin_lock(struct qspinlock *lock) > +{ > + return native_virt_spin_lock(lock); > +} > +PV_CALLEE_SAVE_REGS_THUNK(__native_virt_spin_lock); I have some concern about the overhead of register saving/restoring have on spin lock performance in case the kernel is under a non-KVM/Xen hypervisor. Chee...
2017 Sep 05
0
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
...nlocks.c b/arch/x86/kernel/paravirt-spinlocks.c index 26e4bd92f309..1be187ef8a38 100644 --- a/arch/x86/kernel/paravirt-spinlocks.c +++ b/arch/x86/kernel/paravirt-spinlocks.c @@ -20,6 +20,12 @@ bool pv_is_native_spin_unlock(void) __raw_callee_save___native_queued_spin_unlock; } +__visible bool __native_virt_spin_lock(struct qspinlock *lock) +{ + return native_virt_spin_lock(lock); +} +PV_CALLEE_SAVE_REGS_THUNK(__native_virt_spin_lock); + struct pv_lock_ops pv_lock_ops = { #ifdef CONFIG_SMP .queued_spin_lock_slowpath = native_queued_spin_lock_slowpath, @@ -27,6 +33,14 @@ struct pv_lock_ops pv_lock_ops = {...
2017 Sep 05
0
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
...309..1be187ef8a38 100644 >> --- a/arch/x86/kernel/paravirt-spinlocks.c >> +++ b/arch/x86/kernel/paravirt-spinlocks.c >> @@ -20,6 +20,12 @@ bool pv_is_native_spin_unlock(void) >> __raw_callee_save___native_queued_spin_unlock; >> } >> >> +__visible bool __native_virt_spin_lock(struct qspinlock *lock) >> +{ >> + return native_virt_spin_lock(lock); >> +} >> +PV_CALLEE_SAVE_REGS_THUNK(__native_virt_spin_lock); > > I have some concern about the overhead of register saving/restoring have > on spin lock performance in case the kernel is under...
2017 Sep 05
7
[PATCH 0/4] make virt_spin_lock() a pvops function
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
2017 Sep 05
7
[PATCH 0/4] make virt_spin_lock() a pvops function
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
2017 Sep 05
3
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
...;>> --- a/arch/x86/kernel/paravirt-spinlocks.c >>> +++ b/arch/x86/kernel/paravirt-spinlocks.c >>> @@ -20,6 +20,12 @@ bool pv_is_native_spin_unlock(void) >>> __raw_callee_save___native_queued_spin_unlock; >>> } >>> >>> +__visible bool __native_virt_spin_lock(struct qspinlock *lock) >>> +{ >>> + return native_virt_spin_lock(lock); >>> +} >>> +PV_CALLEE_SAVE_REGS_THUNK(__native_virt_spin_lock); >> I have some concern about the overhead of register saving/restoring have >> on spin lock performance in case th...
2017 Sep 05
3
[PATCH 3/4] paravirt: add virt_spin_lock pvops function
...;>> --- a/arch/x86/kernel/paravirt-spinlocks.c >>> +++ b/arch/x86/kernel/paravirt-spinlocks.c >>> @@ -20,6 +20,12 @@ bool pv_is_native_spin_unlock(void) >>> __raw_callee_save___native_queued_spin_unlock; >>> } >>> >>> +__visible bool __native_virt_spin_lock(struct qspinlock *lock) >>> +{ >>> + return native_virt_spin_lock(lock); >>> +} >>> +PV_CALLEE_SAVE_REGS_THUNK(__native_virt_spin_lock); >> I have some concern about the overhead of register saving/restoring have >> on spin lock performance in case th...