From: Sebastian Andrzej Siewior Date: Wed, 16 Apr 2025 16:29:11 +0000 (+0200) Subject: futex: Create helper function to initialize a hash slot X-Git-Tag: v6.16-rc1~199^2^2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a9bdfdd687395a3dc949d3ae3323494395a93d4;p=thirdparty%2Flinux.git 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 Signed-off-by: Peter Zijlstra (Intel) Link: https://lore.kernel.org/r/20250416162921.513656-12-bigeasy@linutronix.de --- diff --git a/kernel/futex/core.c b/kernel/futex/core.c index 1443a98dfa7fa..afc66780f84fc 100644 --- a/kernel/futex/core.c +++ b/kernel/futex/core.c @@ -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;