| From | Sebastian Andrzej Siewior <> | Subject | [PATCH net-next 00/24] locking: Introduce nested-BH locking. | Date | Fri, 15 Dec 2023 18:07:19 +0100 |
| |
Hi,
Disabling bottoms halves acts as per-CPU BKL. On PREEMPT_RT code within local_bh_disable() section remains preemtible. As a result high prior tasks (or threaded interrupts) will be blocked by lower-prio task (or threaded interrupts) which are long running which includes softirq sections.
The proposed way out is to introduce explicit per-CPU locks for resources which are protected by local_bh_disable() and use those only on PREEMPT_RT so there is no additional overhead for !PREEMPT_RT builds.
The series introduces the infrastructure and converts large parts of networking which is largerst stake holder here. Once this done the per-CPU lock from local_bh_disable() on PREEMPT_RT can be lifted.
Sebastian
|