[PATCH v2 0/4] firewire: core: call address handlers ouside RCU read-side critical section
Takashi Sakamoto <[email protected]> Sun, 3 Aug 2025 21:20:11 +0900
| Newsgroups | gmane.linux.kernel,gmane.linux.kernel.firewire.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, This is an updated version of my previous patchset[1]. In the earlier version, XArray was used to collect FCP address handlers. However, in typical system, only a few handlers are registered, and using XArray for this purpose was unnecessarily complex and inefficient. A simpler and faster approach is more appropriate here. In this v2 patchset, the kernel stack is used initially to store up to 4 handlers. If more than 4 handlers are registered in the system, a buffer is dynamically allocated from the kernel heap. [1] https://lore.kernel.org/lkml/[email protected]/ Takashi Sakamoto (4): firewire: core: use reference counting to invoke address handlers safely firewire: core: call handler for exclusive regions outside RCU read-side critical section firewire: core: call FCP address handlers outside RCU read-side critical section firewire: core: reallocate buffer for FCP address handlers when more than 4 are registered drivers/firewire/core-transaction.c | 91 +++++++++++++++++++++++++---- include/linux/firewire.h | 4 ++ 2 files changed, 85 insertions(+), 10 deletions(-) base-commit: 7061835997daba9e73c723c85bd70bc4c44aef77 -- 2.48.1