Lines Matching +full:entry +full:- +full:address
42 The pointer 'head' points to a structure in the threads address space
48 kernel, then it can actually have two such structures - one using 32 bit
58 to itself, 'head'. The last 'lock entry' points back to the 'head'.
61 address of the associated 'lock entry', plus or minus, of what will
62 be called the 'lock word', from that 'lock entry'. The 'lock word'
69 the address of the 'lock entry', during list insertion and removal,
73 Each 'lock entry' on the single linked list starting at 'head' consists
74 of just a single word, pointing to the next 'lock entry', or back to
76 entry', at an offset from the 'lock entry' specified by the 'offset'
83 mechanism to register the address of that 'lock word' with the kernel.
87 'lock entry' on this list, with its associated 'lock word' at the
107 it currently holds using the 'lock entry' pointers. It may also have
137 protocol on 'lock entry' insertion and removal:
141 1) set the 'list_op_pending' word to the address of the 'lock entry'
144 3) add the lock entry, with its thread id (TID) in the bottom 30 bits
150 1) set the 'list_op_pending' word to the address of the 'lock entry'
152 2) remove the lock entry for this lock from the 'head' list,
156 On exit, the kernel will consider the address stored in
157 'list_op_pending' and the address of each 'lock word' found by walking
158 the list starting at 'head'. For each such address, if the bottom 30
159 bits of the 'lock word' at offset 'offset' from that address equals the
163 wakeup on that address, which will waken the next thread that has
164 used to the futex mechanism to wait on that address, and
175 is not a valid address of a user space word
176 2) the calculated location of the 'lock word' (address plus
177 'offset') is not the valid address of a 32 bit user space
182 When the kernel sees a list entry whose 'lock word' doesn't have the
184 entry, and goes on to the next entry.