Lines Matching +full:max +full:- +full:bits +full:- +full:per +full:- +full:word

1 /* SPDX-License-Identifier: GPL-2.0 */
33 * NOMMU does not have per process address space. Let the compiler optimize
90 /* Only 32bit futexes are implemented -- for now */ in futex_flags_valid()
96 * in a futex word. in futex_flags_valid()
99 int bits = 8 * futex_size(flags); in futex_flags_valid() local
100 u64 max = ~0ULL; in futex_flags_valid() local
102 max >>= 64 - bits; in futex_flags_valid()
103 if (nr_node_ids >= max) in futex_flags_valid()
112 int bits = 8 * futex_size(flags); in futex_validate_input() local
114 if (bits < 64 && (val >> bits)) in futex_validate_input()
146 * list of 'owned' pi_state instances - these have to be
166 * struct futex_q - The hashed futex queue entry, one per waiting task
167 * @list: priority-sorted list of tasks waiting on this futex
185 * It is considered woken when plist_node_empty(&q->list) || q->lock_ptr == 0.
249 * futex_match - Check whether two futex keys are equal
258 && key1->both.word == key2->both.word in futex_match()
259 && key1->both.ptr == key2->both.ptr in futex_match()
260 && key1->both.offset == key2->both.offset); in futex_match()
293 * We could just have a per-architecture special function for it,
295 * than force everybody to do that, write it out long-hand using
296 * the low-level user-access infrastructure.
308 return -EFAULT; in futex_get_value()
315 return -EFAULT; in futex_get_value()
323 return -EFAULT; in futex_put_value()
329 return -EFAULT; in futex_put_value()
349 * futex_queue() - Enqueue the futex_q on the futex_hash_bucket
354 * The hb->lock must be held by the caller, and is released here. A call to
365 __releases(&hb->lock) in futex_queue()
368 spin_unlock(&hb->lock); in futex_queue()
381 atomic_inc(&hb->waiters); in futex_hb_waiters_inc()
396 atomic_dec(&hb->waiters); in futex_hb_waiters_dec()
407 return atomic_read(&hb->waiters); in futex_hb_waiters_pending()
438 spin_lock(&hb1->lock); in double_lock_hb()
440 spin_lock_nested(&hb2->lock, SINGLE_DEPTH_NESTING); in double_lock_hb()
446 spin_unlock(&hb1->lock); in double_unlock_hb()
448 spin_unlock(&hb2->lock); in double_unlock_hb()
469 * struct futex_vector - Auxiliary struct for futex_waitv()