mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
futex: Create helper function to initialize a hash slot
Factor out the futex_hash_bucket initialisation into a helpr function. The helper function will be used in a follow up patch implementing process private hash buckets. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20250416162921.513656-12-bigeasy@linutronix.de
This commit is contained in:
committed by
Peter Zijlstra
parent
b04b8f3032
commit
9a9bdfdd68
@@ -1160,6 +1160,13 @@ void futex_exit_release(struct task_struct *tsk)
|
||||
futex_cleanup_end(tsk, FUTEX_STATE_DEAD);
|
||||
}
|
||||
|
||||
static void futex_hash_bucket_init(struct futex_hash_bucket *fhb)
|
||||
{
|
||||
atomic_set(&fhb->waiters, 0);
|
||||
plist_head_init(&fhb->chain);
|
||||
spin_lock_init(&fhb->lock);
|
||||
}
|
||||
|
||||
static int __init futex_init(void)
|
||||
{
|
||||
unsigned long hashsize, i;
|
||||
@@ -1177,11 +1184,8 @@ static int __init futex_init(void)
|
||||
hashsize, hashsize);
|
||||
hashsize = 1UL << futex_shift;
|
||||
|
||||
for (i = 0; i < hashsize; i++) {
|
||||
atomic_set(&futex_queues[i].waiters, 0);
|
||||
plist_head_init(&futex_queues[i].chain);
|
||||
spin_lock_init(&futex_queues[i].lock);
|
||||
}
|
||||
for (i = 0; i < hashsize; i++)
|
||||
futex_hash_bucket_init(&futex_queues[i]);
|
||||
|
||||
futex_hashmask = hashsize - 1;
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user