[PATCH 0/3] firewire: ohci: use regular workqueue to handle 1394 OHCI AT/AR context events

Takashi Sakamoto posted 3 patches 3 months, 3 weeks ago
There is a newer version of this series
drivers/firewire/core-card.c        | 40 ++++++++++++-----
drivers/firewire/core-transaction.c |  7 +--
drivers/firewire/net.c              |  4 +-
drivers/firewire/ohci.c             | 67 +++++++++++++++--------------
include/linux/firewire.h            | 12 +++++-
5 files changed, 81 insertions(+), 49 deletions(-)
[PATCH 0/3] firewire: ohci: use regular workqueue to handle 1394 OHCI AT/AR context events
Posted by Takashi Sakamoto 3 months, 3 weeks ago
Hi,

Last year, in Linux kernel v6.12, the bottom-halves for isochronous
contexts of 1394 OHCI PCI driver were changed to use workqueue instead of
tasklet (softIRQ). I have received no reports of any issues related to the
change until today. Therefore, I believe it's time to move on to the next
step.

This patchset updates the driver to use a regular workqueue (not WQ_BH) to
handle 1394 OHCI AT/AR context events. Unlike isochronous contexts, the
asynchronous contexts are used by the implementation of the SCSI over
IEEE 1394 protocol (sbp2). The workqueue is allocated with WQ_MEM_RECLAIM
flag so that it can still participate in memory reclaim paths.

With this change, all remaining uses of tasklets in the subsystem are
completely removed.

[1] https://lore.kernel.org/lkml/20240904125155.461886-1-o-takashi@sakamocchi.jp/

Takashi Sakamoto (3):
  firewire: core: allocate workqueue for AR/AT request/response contexts
  firewire: ohci: use workqueue to handle events of AR request/response
    contexts
  firewire: ohci: use workqueue to handle events of AT request/response
    contexts

 drivers/firewire/core-card.c        | 40 ++++++++++++-----
 drivers/firewire/core-transaction.c |  7 +--
 drivers/firewire/net.c              |  4 +-
 drivers/firewire/ohci.c             | 67 +++++++++++++++--------------
 include/linux/firewire.h            | 12 +++++-
 5 files changed, 81 insertions(+), 49 deletions(-)

-- 
2.48.1