Re: [PATCH v2 0/4] firewire: core: call address handlers ouside RCU read-side critical section
From: Takashi Sakamoto
Date: Mon Aug 11 2025 - 09:29:02 EST
On Sun, Aug 03, 2025 at 09:20:11PM +0900, Takashi Sakamoto wrote:
> 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/20250728015125.17825-1-o-takashi@xxxxxxxxxxxxx/
>
> 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
Applied to for-linus branch.
Thanks
Takashi Sakamoto