search for: pv_kick_type

Displaying 12 results from an estimated 12 matches for "pv_kick_type".

2014 Feb 26
0
[PATCH RFC v5 8/8] pvqspinlock, x86: Enable KVM to use qspinlock's PV support
...;lh_kick_stats", 0644, d_spin_debug, &lh_kick_stats); + debugfs_create_u32("qh_kick_stats", 0644, d_spin_debug, &qh_kick_stats); + debugfs_create_u32("nn_kick_stats", 0644, d_spin_debug, &nn_kick_stats); + + return 0; +} + +static inline void inc_kick_stats(enum pv_kick_type type) +{ + if (type == PV_KICK_LOCK_HOLDER) + add_smp(&lh_kick_stats, 1); + else if (type == PV_KICK_QUEUE_HEAD) + add_smp(&qh_kick_stats, 1); + else + add_smp(&nn_kick_stats, 1); +} +fs_initcall(kvm_spinlock_debugfs); + +#else /* CONFIG_KVM_DEBUG_FS */ +static inline void inc_kick_s...
2014 Mar 12
0
[PATCH RFC v6 10/11] pvqspinlock, x86: Enable qspinlock PV support for KVM
...stats", 0644, d_spin_debug, &lh_kick_stats); + debugfs_create_u32("qh_kick_stats", 0644, d_spin_debug, &qh_kick_stats); + debugfs_create_u32("hibernate_stats", + 0644, d_spin_debug, &hibernate_stats); + return 0; +} + +static inline void inc_kick_stats(enum pv_kick_type type) +{ + if (type == PV_KICK_LOCK_HOLDER) + add_smp(&lh_kick_stats, 1); + else /* type == PV_KICK_QUEUE_HEAD */ + add_smp(&qh_kick_stats, 1); +} + +static inline void inc_hib_stats(void) +{ + add_smp(&hibernate_stats, 1); +} + +fs_initcall(kvm_spinlock_debugfs); + +#else /* CONFIG_K...
2014 Feb 27
1
[PATCH RFC v5 8/8] pvqspinlock, x86: Enable KVM to use qspinlock's PV support
...debug, &lh_kick_stats); > + debugfs_create_u32("qh_kick_stats", 0644, d_spin_debug, &qh_kick_stats); > + debugfs_create_u32("nn_kick_stats", 0644, d_spin_debug, &nn_kick_stats); > + > + return 0; > +} > + > +static inline void inc_kick_stats(enum pv_kick_type type) > +{ > + if (type == PV_KICK_LOCK_HOLDER) > + add_smp(&lh_kick_stats, 1); > + else if (type == PV_KICK_QUEUE_HEAD) > + add_smp(&qh_kick_stats, 1); > + else > + add_smp(&nn_kick_stats, 1); > +} > +fs_initcall(kvm_spinlock_debugfs); > + > +#else /...
2014 Feb 27
1
[PATCH RFC v5 8/8] pvqspinlock, x86: Enable KVM to use qspinlock's PV support
...debug, &lh_kick_stats); > + debugfs_create_u32("qh_kick_stats", 0644, d_spin_debug, &qh_kick_stats); > + debugfs_create_u32("nn_kick_stats", 0644, d_spin_debug, &nn_kick_stats); > + > + return 0; > +} > + > +static inline void inc_kick_stats(enum pv_kick_type type) > +{ > + if (type == PV_KICK_LOCK_HOLDER) > + add_smp(&lh_kick_stats, 1); > + else if (type == PV_KICK_QUEUE_HEAD) > + add_smp(&qh_kick_stats, 1); > + else > + add_smp(&nn_kick_stats, 1); > +} > +fs_initcall(kvm_spinlock_debugfs); > + > +#else /...
2014 Feb 26
0
[PATCH RFC v5 7/8] pvqspinlock, x86: Add qspinlock para-virtualization support
...+++ b/arch/x86/include/asm/paravirt.h @@ -711,7 +711,12 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx, } #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) - +#ifdef CONFIG_QUEUE_SPINLOCK +static __always_inline void __queue_kick_cpu(int cpu, enum pv_kick_type type) +{ + PVOP_VCALL2(pv_lock_ops.kick_cpu, cpu, type); +} +#else static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock, __ticket_t ticket) { @@ -723,7 +728,7 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock, { PVOP_VCALL2(pv_lock_...
2014 Mar 12
0
[PATCH RFC v6 09/11] pvqspinlock, x86: Add qspinlock para-virtualization support
...h +++ b/arch/x86/include/asm/paravirt.h @@ -711,7 +711,17 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx, } #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) +#ifdef CONFIG_QUEUE_SPINLOCK +static __always_inline void __queue_kick_cpu(int cpu, enum pv_kick_type type) +{ + PVOP_VCALL2(pv_lock_ops.kick_cpu, cpu, type); +} +static __always_inline void __queue_hibernate(void) +{ + PVOP_VCALL0(pv_lock_ops.hibernate); +} +#else static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock, __ticket_t ticket) { @@ -723,7 +733,7 @@ sta...
2014 Feb 26
22
[PATCH v5 0/8] qspinlock: a 4-byte queue spinlock with PV support
v4->v5: - Move the optimized 2-task contending code to the generic file to enable more architectures to use it without code duplication. - Address some of the style-related comments by PeterZ. - Allow the use of unfair queue spinlock in a real para-virtualized execution environment. - Add para-virtualization support to the qspinlock code by ensuring that the lock holder and queue
2014 Feb 26
22
[PATCH v5 0/8] qspinlock: a 4-byte queue spinlock with PV support
v4->v5: - Move the optimized 2-task contending code to the generic file to enable more architectures to use it without code duplication. - Address some of the style-related comments by PeterZ. - Allow the use of unfair queue spinlock in a real para-virtualized execution environment. - Add para-virtualization support to the qspinlock code by ensuring that the lock holder and queue
2014 Mar 12
17
[PATCH v6 00/11] qspinlock: a 4-byte queue spinlock with PV support
v5->v6: - Change the optimized 2-task contending code to make it fairer at the expense of a bit of performance. - Add a patch to support unfair queue spinlock for Xen. - Modify the PV qspinlock code to follow what was done in the PV ticketlock. - Add performance data for the unfair lock as well as the PV support code. v4->v5: - Move the optimized 2-task contending code to the
2014 Mar 12
17
[PATCH v6 00/11] qspinlock: a 4-byte queue spinlock with PV support
v5->v6: - Change the optimized 2-task contending code to make it fairer at the expense of a bit of performance. - Add a patch to support unfair queue spinlock for Xen. - Modify the PV qspinlock code to follow what was done in the PV ticketlock. - Add performance data for the unfair lock as well as the PV support code. v4->v5: - Move the optimized 2-task contending code to the
2014 Feb 27
14
[PATCH v5 0/8] qspinlock: a 4-byte queue spinlock with PV support
v4->v5: - Move the optimized 2-task contending code to the generic file to enable more architectures to use it without code duplication. - Address some of the style-related comments by PeterZ. - Allow the use of unfair queue spinlock in a real para-virtualized execution environment. - Add para-virtualization support to the qspinlock code by ensuring that the lock holder and queue
2014 Feb 27
14
[PATCH v5 0/8] qspinlock: a 4-byte queue spinlock with PV support
v4->v5: - Move the optimized 2-task contending code to the generic file to enable more architectures to use it without code duplication. - Address some of the style-related comments by PeterZ. - Allow the use of unfair queue spinlock in a real para-virtualized execution environment. - Add para-virtualization support to the qspinlock code by ensuring that the lock holder and queue