Thread (28 messages) 28 messages, 4 authors, 2019-07-17

Re: [PATCH v3 3/5] locking/qspinlock: Introduce CNA into the slow path of qspinlock

From: Alex Kogan <hidden>
Date: 2019-07-17 14:43:21
Also in: linux-arch, lkml

quoted
 *    mcs_node
 *   +--------+      +----+         +----+
 *   | next   | ---> |next| -> ...  |next| -> NULL  [Main queue]
 *   | locked | -+   +----+         +----+
 *   +--------+  |
 *               |   +---------+         +----+
 *               +-> |mcs::next| -> ...  |next| -> NULL     [Secondary queue]
*                   |cna::tail| -+      +----+
 *                   +---------+  |        ^
*                                +--------+
 *
 * N.B. locked = 1 if secondary queue is absent.
 */

I would change mcs_node to cna_node, next to mcs::next and locked to mcs::locked
in the very first node. Other than that, this is great. Thanks, Peter and Longman!

I should probably stick this graphic in the comment at the top of the file, 
instead of a comment to find_successor() (or whatever this function ends up 
being called).

— Alex



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help