Commit 6e63a68
audio: component: drop redundant locking in driver list
The component driver list is only modified at FW boot and at runtime
when a library is loaded. At boot, module init runs serially on the
primary core (Zephyr SYS_INIT at APPLICATION level, before secondary
cores are started; .initcall walked on a single core for XTOS). At
runtime, registration happens from the IPC thread, which is serialized
with only one command processed at a time. These two phases never
overlap, as IPC message processing only begins after boot completes,
so the list can never be modified concurrently.
The lock was also already incoherent: comp_set_adapter_ops() iterate the
list without holding the lock, so it provided no real mutual exclusion.
Drop the spinlock from comp_register() and comp_unregister(), and from
the UUID search in the IPC3 get_drv() reader. Remove the now-unused
lock field from struct comp_driver_list and its initialization.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>1 parent 7e26c80 commit 6e63a68
3 files changed
Lines changed: 11 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | 48 | | |
50 | | - | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
51 | 55 | | |
52 | | - | |
53 | 56 | | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
57 | 60 | | |
58 | 61 | | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | | - | |
65 | 64 | | |
66 | 65 | | |
67 | 66 | | |
| |||
190 | 189 | | |
191 | 190 | | |
192 | 191 | | |
193 | | - | |
194 | 192 | | |
195 | 193 | | |
196 | 194 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | 29 | | |
31 | 30 | | |
32 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
| |||
127 | 126 | | |
128 | 127 | | |
129 | 128 | | |
130 | | - | |
131 | | - | |
132 | | - | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
152 | | - | |
153 | 151 | | |
154 | 152 | | |
155 | 153 | | |
| |||
0 commit comments