The Linux kernel has never lacked for synchronization primitives and
locking mechanisms, so one might justifiably wonder why there might be a
need to add another one. The addition of local
locks to 5.8 provides an answer to that question. These locks,
which have their origin in the realtime (PREEMPT_RT) tree, were
created to solve some realtime-specific problems, but they also bring some
much-needed structure to a common locking pattern used in non-realtime
kernels as well.
Source: LWN.net – [$] Local locks in the kernel