search for: mcs_spin_lock

Displaying 3 results from an estimated 3 matches for "mcs_spin_lock".

Did you mean: mcs_spin_unlock
2014 Jun 17
2
[PATCH 01/11] qspinlock: A simple generic 4-byte queue spinlock
> + * The basic principle of a queue-based spinlock can best be understood > + * by studying a classic queue-based spinlock implementation called the > + * MCS lock. The paper below provides a good description for this kind > + * of lock. > + * > + * http://www.cise.ufl.edu/tr/DOC/REP-1992-71.pdf > + * > + * This queue spinlock implementation is based on the MCS lock,
2014 Jun 17
2
[PATCH 01/11] qspinlock: A simple generic 4-byte queue spinlock
> + * The basic principle of a queue-based spinlock can best be understood > + * by studying a classic queue-based spinlock implementation called the > + * MCS lock. The paper below provides a good description for this kind > + * of lock. > + * > + * http://www.cise.ufl.edu/tr/DOC/REP-1992-71.pdf > + * > + * This queue spinlock implementation is based on the MCS lock,
2014 Jun 23
0
[PATCH 01/11] qspinlock: A simple generic 4-byte queue spinlock
...> Could you update the comment to say that please? I _think_ I know what you mean.. So that is actually implied by the last paragraph, but I suppose I can make it explicit; something like: * * Another way to look at it is: * * lock(tail,locked) * struct mcs_spinlock node; * mcs_spin_lock(tail, &node); * test-and-set locked; * mcs_spin_unlock(tail, &node); * * unlock(tail,locked) * clear locked * * Where we have compressed (tail,locked) into a single u32 word.