Lines Matching refs:node
58 struct ck_spinlock_mcs *node)
62 node->locked = true;
63 node->next = NULL;
66 r = ck_pr_cas_ptr(queue, NULL, node);
83 struct ck_spinlock_mcs *node)
91 node->locked = true;
92 node->next = NULL;
100 previous = ck_pr_fas_ptr(queue, node);
106 ck_pr_store_ptr(&previous->next, node);
107 while (ck_pr_load_uint(&node->locked) == true)
117 struct ck_spinlock_mcs *node)
123 next = ck_pr_load_ptr(&node->next);
130 if (ck_pr_load_ptr(queue) == node &&
131 ck_pr_cas_ptr(queue, node, NULL) == true) {
136 * If the node is not the current tail then a lock operation
142 next = ck_pr_load_ptr(&node->next);