search for: prev_tail

Displaying 9 results from an estimated 9 matches for "prev_tail".

2015 Apr 08
2
[PATCH v15 16/16] unfair qspinlock: a queue based unfair lock
...struct mcs_spinlock *node) { } +static __always_inline void __unfair_init_node(struct mcs_spinlock *node) { } +static __always_inline bool __unfair_wait_node(struct qspinlock *lock, + struct mcs_spinlock *node, + struct mcs_spinlock *prev, + u32 my_tail, u32 prev_tail) + { return false; } +static __always_inline bool __unfair_wait_head(struct qspinlock *lock, + struct mcs_spinlock *node, + u32 tail) + { return false; } + #define pv_enabled() false +#define unfair_enabled() false #define pv_init_node __pv_init_nod...
2015 Apr 08
2
[PATCH v15 16/16] unfair qspinlock: a queue based unfair lock
...struct mcs_spinlock *node) { } +static __always_inline void __unfair_init_node(struct mcs_spinlock *node) { } +static __always_inline bool __unfair_wait_node(struct qspinlock *lock, + struct mcs_spinlock *node, + struct mcs_spinlock *prev, + u32 my_tail, u32 prev_tail) + { return false; } +static __always_inline bool __unfair_wait_head(struct qspinlock *lock, + struct mcs_spinlock *node, + u32 tail) + { return false; } + #define pv_enabled() false +#define unfair_enabled() false #define pv_init_node __pv_init_nod...
2014 May 07
0
[PATCH v10 12/19] unfair qspinlock: Variable frequency lock stealing mechanism
...inlock.c b/kernel/locking/qspinlock.c index a14241e..06dd486 100644 --- a/kernel/locking/qspinlock.c +++ b/kernel/locking/qspinlock.c @@ -63,6 +63,11 @@ */ struct qnode { struct mcs_spinlock mcs; +#ifdef CONFIG_PARAVIRT_UNFAIR_LOCKS + int lsteal_mask; /* Lock stealing frequency mask */ + u32 prev_tail; /* Tail code of previous node */ + struct qnode *qprev; /* Previous queue node addr */ +#endif }; #define qhead mcs.locked /* The queue head flag */ @@ -215,6 +220,139 @@ xchg_tail(struct qspinlock *lock, u32 tail, u32 *pval) } #endif /* _Q_PENDING_BITS == 8 */ +/* + *******************...
2014 Apr 17
33
[PATCH v9 00/19] qspinlock: a 4-byte queue spinlock with PV support
v8->v9: - Integrate PeterZ's version of the queue spinlock patch with some modification: http://lkml.kernel.org/r/20140310154236.038181843 at infradead.org - Break the more complex patches into smaller ones to ease review effort. - Fix a racing condition in the PV qspinlock code. v7->v8: - Remove one unneeded atomic operation from the slowpath, thus improving
2014 Apr 17
33
[PATCH v9 00/19] qspinlock: a 4-byte queue spinlock with PV support
v8->v9: - Integrate PeterZ's version of the queue spinlock patch with some modification: http://lkml.kernel.org/r/20140310154236.038181843 at infradead.org - Break the more complex patches into smaller ones to ease review effort. - Fix a racing condition in the PV qspinlock code. v7->v8: - Remove one unneeded atomic operation from the slowpath, thus improving
2014 May 07
32
[PATCH v10 00/19] qspinlock: a 4-byte queue spinlock with PV support
v9->v10: - Make some minor changes to qspinlock.c to accommodate review feedback. - Change author to PeterZ for 2 of the patches. - Include Raghavendra KT's test results in patch 18. v8->v9: - Integrate PeterZ's version of the queue spinlock patch with some modification: http://lkml.kernel.org/r/20140310154236.038181843 at infradead.org - Break the more complex
2014 May 07
32
[PATCH v10 00/19] qspinlock: a 4-byte queue spinlock with PV support
v9->v10: - Make some minor changes to qspinlock.c to accommodate review feedback. - Change author to PeterZ for 2 of the patches. - Include Raghavendra KT's test results in patch 18. v8->v9: - Integrate PeterZ's version of the queue spinlock patch with some modification: http://lkml.kernel.org/r/20140310154236.038181843 at infradead.org - Break the more complex
2014 May 10
1
[PATCH v10 08/19] qspinlock: Make a new qnode structure to support virtualization
On Fri, May 09, 2014 at 09:08:56PM -0400, Waiman Long wrote: > On 05/08/2014 03:04 PM, Peter Zijlstra wrote: > >On Wed, May 07, 2014 at 11:01:36AM -0400, Waiman Long wrote: > >> /* > >>+ * To have additional features for better virtualization support, it is > >>+ * necessary to store additional data in the queue node structure. So > >>+ * a new queue
2014 May 10
1
[PATCH v10 08/19] qspinlock: Make a new qnode structure to support virtualization
On Fri, May 09, 2014 at 09:08:56PM -0400, Waiman Long wrote: > On 05/08/2014 03:04 PM, Peter Zijlstra wrote: > >On Wed, May 07, 2014 at 11:01:36AM -0400, Waiman Long wrote: > >> /* > >>+ * To have additional features for better virtualization support, it is > >>+ * necessary to store additional data in the queue node structure. So > >>+ * a new queue