__rt_mutex_slowlock(9)
πΈ NAME πΈ
Okay bestie, welcome to __rt_mutex_slowlock(9), straight outta the Kernel API Manual. This is the locking slowpath that gets invoked when lock::wait_lock is already held. Yes, you read that right β it's giving βdeep kernel locking businessβ energy, and we're gonna get through it together. π
β¨ SYNOPSIS β¨
int __rt_mutex_slowlock (struct rt_mutex_base *lock , struct ww_acquire_ctx *ww_ctx , unsigned int state , enum rtmutex_chainwalk chwalk , struct rt_mutex_waiter *waiter , struct wake_q_head *wake_q );
It's declared to return int, and every single parameter is accounted for below. No cap. π«Ά
π ARGUMENTS π
lockβ thertmutexto block lock. That's the lock we're doing the whole slowpath thing for. π₯ww_ctxβ the WW mutex context pointer. It's giving βcontext, but for WW mutexes.β β¨stateβ the task state for sleeping. You know, the vibe the task is in while it snoozes. π΄chwalkβ indicator whether a full or partial chainwalk is requested. So it literally tells you which chainwalk flavor we're dealing with. π¦waiterβ initializer waiter for blocking. This is thewaiterthat gets initialized for the blocking situation. πwake_qβ thewake_qto wake tasks after we release thewait_lock. So after thewait_lockis released, this is the wake queue doing the waking. π
π SEE ALSO π
- Kernel file
./kernel/locking/rtmutex.c rt_mutex_slowlock_block(9)rtlock_slowlock_locked(9)
Signed off from ./kernel/locking, October 2026 edition β source/version and date noted, bestie. Bye and slay your locking journey. πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms