[PATCH 0/3] blk-ioc: convert ioc_lookup_icq() to lockless version

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Yu Kuai <yukuai3@xxxxxxxxxx>

Currently issue io can grab queue_lock three times from bfq_bio_merge(),
bfq_limit_depth() and bfq_prepare_request(), the queue_lock is not
necessary if icq is already created because both queue and ioc can't be
freed before io issuing is done.

This set first add a lockless helper ioc_lookup_icq_rcu() and then
covert to use the new helper.

Noted this is also a prep set to support request batch dispatching[1].

1. https://lore.kernel.org/all/20250722072431.610354-1-yukuai1@xxxxxxxxxxxxxxx/

Yu Kuai (3):
  blk-ioc: add a new helper ioc_lookup_icq_rcu()
  block, bfq: convert to use ioc_lookup_icq_rcu()
  blk-ioc: convert to use ioc_lookup_icq_rcu()

 block/bfq-iosched.c | 23 ++++++-----------------
 block/blk-ioc.c     | 46 ++++++++++++++++++++++-----------------------
 block/blk.h         |  2 +-
 3 files changed, 29 insertions(+), 42 deletions(-)

-- 
2.39.2





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux