[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <A0328388-7C6B-46A4-A05E-DCD6D91334AE@linaro.org>
Date: Tue, 13 Dec 2022 16:40:03 +0100
From: Paolo Valente <paolo.valente@...aro.org>
To: Jens Axboe <axboe@...nel.dk>
Cc: linux-block <linux-block@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Arie van der Hoeven <arie.vanderhoeven@...gate.com>,
Rory Chen <rory.c.chen@...gate.com>,
Glen Valante <glen.valante@...aro.org>,
Damien Le Moal <damien.lemoal@...nsource.wdc.com>
Subject: Re: [PATCH V10 0/8] block, bfq: extend bfq to support multi-actuator
drives
Hi Jens, Damien,
can we consider this for 6.2?
Thanks,
Paolo
> Il giorno 9 dic 2022, alle ore 10:44, Paolo Valente <paolo.valente@...aro.org> ha scritto:
>
> Hi,
> here is the V10, it differs from V9 in that it applies the
> recommendation by Damien in [2].
>
> Here is the whole description of this patch series again. This
> extension addresses the following issue. Single-LUN multi-actuator
> SCSI drives, as well as all multi-actuator SATA drives appear as a
> single device to the I/O subsystem [1]. Yet they address commands to
> different actuators internally, as a function of Logical Block
> Addressing (LBAs). A given sector is reachable by only one of the
> actuators. For example, Seagate’s Serial Advanced Technology
> Attachment (SATA) version contains two actuators and maps the lower
> half of the SATA LBA space to the lower actuator and the upper half to
> the upper actuator.
>
> Evidently, to fully utilize actuators, no actuator must be left idle
> or underutilized while there is pending I/O for it. To reach this
> goal, the block layer must somehow control the load of each actuator
> individually. This series enriches BFQ with such a per-actuator
> control, as a first step. Then it also adds a simple mechanism for
> guaranteeing that actuators with pending I/O are never left idle.
>
> See [1] for a more detailed overview of the problem and of the
> solutions implemented in this patch series. There you will also find
> some preliminary performance results.
>
> Thanks,
> Paolo
>
> [1] https://www.linaro.org/blog/budget-fair-queueing-bfq-linux-io-scheduler-optimizations-for-multi-actuator-sata-hard-drives/
> [2] https://lore.kernel.org/lkml/20221208104351.35038-1-paolo.valente@linaro.org/T/#t
>
> Davide Zini (3):
> block, bfq: split also async bfq_queues on a per-actuator basis
> block, bfq: inject I/O to underutilized actuators
> block, bfq: balance I/O injection among underutilized actuators
>
> Federico Gavioli (1):
> block, bfq: retrieve independent access ranges from request queue
>
> Paolo Valente (4):
> block, bfq: split sync bfq_queues on a per-actuator basis
> block, bfq: forbid stable merging of queues associated with different
> actuators
> block, bfq: move io_cq-persistent bfqq data into a dedicated struct
> block, bfq: turn bfqq_data into an array in bfq_io_cq
>
> block/bfq-cgroup.c | 94 +++----
> block/bfq-iosched.c | 584 ++++++++++++++++++++++++++++++--------------
> block/bfq-iosched.h | 142 ++++++++---
> block/bfq-wf2q.c | 2 +-
> 4 files changed, 566 insertions(+), 256 deletions(-)
>
> --
> 2.20.1
Powered by blists - more mailing lists