Commit b22800f
dev: Use nested-BH locking for softnet_data.process_queue.
softnet_data::process_queue is a per-CPU variable and relies on disabled
BH for its locking. Without per-CPU locking in local_bh_disable() on
PREEMPT_RT this data structure requires explicit locking.
softnet_data::input_queue_head can be updated lockless. This is fine
because this value is only update CPU local by the local backlog_napi
thread.
Add a local_lock_t to softnet_data and use local_lock_nested_bh() for locking
of process_queue. This change adds only lockdep coverage and does not
alter the functional behaviour for !PREEMPT_RT.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/20240620132727.660738-11-bigeasy@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>1 parent a8760d0 commit b22800f
2 files changed
+12
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3202 | 3202 | | |
3203 | 3203 | | |
3204 | 3204 | | |
| 3205 | + | |
3205 | 3206 | | |
3206 | 3207 | | |
3207 | 3208 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
449 | 449 | | |
450 | 450 | | |
451 | 451 | | |
452 | | - | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
453 | 455 | | |
454 | 456 | | |
455 | 457 | | |
| |||
5949 | 5951 | | |
5950 | 5952 | | |
5951 | 5953 | | |
| 5954 | + | |
5952 | 5955 | | |
5953 | 5956 | | |
5954 | 5957 | | |
5955 | 5958 | | |
5956 | 5959 | | |
5957 | 5960 | | |
5958 | 5961 | | |
| 5962 | + | |
5959 | 5963 | | |
5960 | 5964 | | |
5961 | 5965 | | |
| |||
6077 | 6081 | | |
6078 | 6082 | | |
6079 | 6083 | | |
| 6084 | + | |
6080 | 6085 | | |
| 6086 | + | |
6081 | 6087 | | |
6082 | 6088 | | |
6083 | 6089 | | |
| |||
6086 | 6092 | | |
6087 | 6093 | | |
6088 | 6094 | | |
| 6095 | + | |
6089 | 6096 | | |
| 6097 | + | |
6090 | 6098 | | |
6091 | 6099 | | |
6092 | 6100 | | |
| |||
6101 | 6109 | | |
6102 | 6110 | | |
6103 | 6111 | | |
| 6112 | + | |
6104 | 6113 | | |
6105 | 6114 | | |
| 6115 | + | |
6106 | 6116 | | |
6107 | 6117 | | |
6108 | 6118 | | |
| |||
0 commit comments