Home
last modified time | relevance | path

Searched refs:FutexNode (Results 1 – 4 of 4) sorted by relevance

/kernel/object/include/object/
A Dfutex_node.h19 class FutexNode : public fbl::SinglyLinkedListable<FutexNode*> {
23 FutexNode();
24 ~FutexNode();
26 FutexNode(const FutexNode &) = delete;
27 FutexNode& operator=(const FutexNode &) = delete;
33 void AppendList(FutexNode* head);
35 static FutexNode* RemoveNodeFromList(FutexNode* list_head, FutexNode* node);
37 static FutexNode* WakeThreads(FutexNode* node, uint32_t count,
40 static FutexNode* RemoveFromHead(FutexNode* list_head,
58 static void RelinkAsAdjacent(FutexNode* node1, FutexNode* node2);
[all …]
A Dfutex_context.h82 void QueueNodesLocked(FutexNode* head) TA_REQ(lock_);
84 bool UnqueueNodeLocked(FutexNode* node) TA_REQ(lock_);
91 FutexNode::HashTable futex_table_ TA_GUARDED(lock_);
/kernel/object/
A Dfutex_node.cpp20 FutexNode::FutexNode() { in FutexNode() function in FutexNode
24 FutexNode::~FutexNode() { in ~FutexNode()
30 bool FutexNode::IsInQueue() const { in IsInQueue()
41 void FutexNode::AppendList(FutexNode* head) { in AppendList()
47 FutexNode* FutexNode::RemoveNodeFromList(FutexNode* list_head, in RemoveNodeFromList()
78 FutexNode* FutexNode::WakeThreads(FutexNode* node, uint32_t count, in WakeThreads()
119 FutexNode* FutexNode::RemoveFromHead(FutexNode* list_head, uint32_t count, in RemoveFromHead()
125 FutexNode* node = list_head; in RemoveFromHead()
174 void FutexNode::WakeThread() { in WakeThread()
196 void FutexNode::RelinkAsAdjacent(FutexNode* node1, FutexNode* node2) { in RelinkAsAdjacent()
[all …]
A Dfutex_context.cpp61 FutexNode node; in FutexWait()
124 FutexNode* node = futex_table_.erase(futex_key); in FutexWake()
131 FutexNode* remaining_waiters = in FutexWake()
132 FutexNode::WakeThreads(node, wake_count, futex_key); in FutexWake()
179 FutexNode* node = futex_table_.erase(wake_key); in FutexRequeue()
197 FutexNode* requeue_head = node; in FutexRequeue()
221 void FutexContext::QueueNodesLocked(FutexNode* head) { in QueueNodesLocked()
224 FutexNode::HashTable::iterator iter; in QueueNodesLocked()
237 bool FutexContext::UnqueueNodeLocked(FutexNode* node) { in UnqueueNodeLocked()
249 FutexNode* old_head = futex_table_.erase(futex_key); in UnqueueNodeLocked()
[all …]

Completed in 19 milliseconds