~/talk

Unblocking the softirq lock for PREEMPT_RT

Talkat Linux Plumbers Conference 2023 · 2023-11-13..11-15· [networking]
links:none on file
slides:none on file

Claims that the global local-BH disable on PREEMPT_RT behaves like a per-CPU Big Kernel Lock and blocks higher-priority threads; offers a proof-of-concept that replaces global BH serialization with targeted protection around PCPU resources using lo_nested_bh and compiler scope guard helpers. Uses SKB/page-pool examples, SK Switz tracer prints, and driver patches; changes timer setup to avoid pinning. Prototype covers ~90% of observed cases, lands driver fixes for a few broken drivers, and demonstrates preemption between networking and block paths working as intended.

AI-written summary · about

  1. 0:00Introduction to softirq problem
  2. 0:23Softirq on RT vs non-RT kernels
  3. 3:56Problem with long-running softirqs
  4. 5:22Proof of concept for local locks
  5. 7:47Guard notation for locking
  6. 10:19BPF and driver locking issues
  7. 11:23Test case before and after
  8. 12:06Networking timer special case
  9. 13:32Page pool safety in softirq
  10. 14:22Need for protection scope identification
  11. 16:08Softirq scheduling control issues
  12. 17:56Local locks vs preempt disable
  13. 19:58Breaking up the big lock
  14. 21:43PPU variables and pin timer
  15. 23:07Guard implementation details
  16. 24:35Driver patch consolidation
  17. 26:21Timer setup patch heads-up
  18. 27:03Scope guard vs guard notation
  19. 28:30BPF lock handling in redirect
  20. 30:20Refactoring XDP drivers
  21. 30:41Q&A and summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.