From: Damien Le Moal <Damien.LeMoal@wdc.com>
To: Jens Axboe <axboe@kernel.dk>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH v8 0/5] Initial support for multi-actuator HDDs
Date: Tue, 14 Sep 2021 00:38:57 +0000 [thread overview]
Message-ID: <DM6PR04MB7081FA3D112B77D86CF4126FE7DA9@DM6PR04MB7081.namprd04.prod.outlook.com> (raw)
In-Reply-To: 20210909023545.1101672-1-damien.lemoal@wdc.com
On 2021/09/09 11:35, Damien Le Moal wrote:
> Single LUN multi-actuator hard-disks are cappable to seek and execute
> multiple commands in parallel. This capability is exposed to the host
> using the Concurrent Positioning Ranges VPD page (SCSI) and Log (ATA).
> Each positioning range describes the contiguous set of LBAs that an
> actuator serves.
>
> This series adds support to the scsi disk driver to retreive this
> information and advertize it to user space through sysfs. libata is
> also modified to handle ATA drives.
>
> The first patch adds the block layer plumbing to expose concurrent
> sector ranges of the device through sysfs as a sub-directory of the
> device sysfs queue directory. Patch 2 and 3 add support to sd and
> libata. Finally patch 4 documents the sysfs queue attributed changes.
> Patch 5 fixes a typo in the document file (strictly speaking, not
> related to this series).
>
> This series does not attempt in any way to optimize accesses to
> multi-actuator devices (e.g. block IO schedulers or filesystems). This
> initial support only exposes the independent access ranges information
> to user space through sysfs.
>
> Changes from v7:
> * Renamed functions to spell out "independent_access_range" instead of
> using contracted names such as iaranges. Structure fields names are
> changed to ia_ranges from iaranges.
> * Added reviewed-by tags in patch 4 and 5
Jens, Martin,
Any comment on this latest iteration/renaming version ?
>
> Changes from v6:
> * Changed patch 1 to prevent a device from registering overlapping
> independent access ranges.
>
> Changes from v5:
> * Changed type names in patch 1:
> - struct blk_crange -> sturct blk_independent_access_range
> - struct blk_cranges -> sturct blk_independent_access_ranges
> All functions and variables are renamed accordingly, using shorter
> names related to the new type names, e.g.
> sturct blk_independent_access_ranges -> iaranges or iars.
> * Update the commit message of patch 1 to 4. Patch 1 and 4 titles are
> also changed.
> * Dropped reviewed-tags on modified patches. Patch 3 and 5 are
> unmodified
>
> Changes from v4:
> * Fixed kdoc comment function name mismatch for disk_register_cranges()
> in patch 1
>
> Changes from v3:
> * Modified patch 1:
> - Prefix functions that take a struct gendisk as argument with
> "disk_". Modified patch 2 accordingly.
> - Added a functional release operation for struct blk_cranges kobj to
> ensure that this structure is freed only after all references to it
> are released, including kobject_del() execution for all crange sysfs
> entries.
> * Added patch 5 to separate the typo fix from the crange documentation
> addition.
> * Added reviewed-by tags
>
> Changes from v2:
> * Update patch 1 to fix a compilation warning for a potential NULL
> pointer dereference of the cr argument of blk_queue_set_cranges().
> Warning reported by the kernel test robot <lkp@intel.com>).
>
> Changes from v1:
> * Moved libata-scsi hunk from patch 1 to patch 3 where it belongs
> * Fixed unintialized variable in patch 2
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com
> * Changed patch 3 adding struct ata_cpr_log to contain both the number
> of concurrent ranges and the array of concurrent ranges.
> * Added a note in the documentation (patch 4) about the unit used for
> the concurrent ranges attributes.
>
> Damien Le Moal (5):
> block: Add independent access ranges support
> scsi: sd: add concurrent positioning ranges support
> libata: support concurrent positioning ranges log
> doc: document sysfs queue/independent_access_ranges attributes
> doc: Fix typo in request queue sysfs documentation
>
> Documentation/block/queue-sysfs.rst | 33 ++-
> block/Makefile | 2 +-
> block/blk-ia-ranges.c | 348 ++++++++++++++++++++++++++++
> block/blk-sysfs.c | 26 ++-
> block/blk.h | 4 +
> drivers/ata/libata-core.c | 57 ++++-
> drivers/ata/libata-scsi.c | 48 +++-
> drivers/scsi/sd.c | 81 +++++++
> drivers/scsi/sd.h | 1 +
> include/linux/ata.h | 1 +
> include/linux/blkdev.h | 39 ++++
> include/linux/libata.h | 15 ++
> 12 files changed, 634 insertions(+), 21 deletions(-)
> create mode 100644 block/blk-ia-ranges.c
>
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2021-09-14 0:39 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-09 2:35 [PATCH v8 0/5] Initial support for multi-actuator HDDs Damien Le Moal
2021-09-09 2:35 ` [PATCH v8 1/5] block: Add independent access ranges support Damien Le Moal
2021-09-09 5:59 ` Hannes Reinecke
2021-09-09 2:35 ` [PATCH v8 2/5] scsi: sd: add concurrent positioning " Damien Le Moal
2021-09-09 6:00 ` Hannes Reinecke
2021-09-09 2:35 ` [PATCH v8 3/5] libata: support concurrent positioning ranges log Damien Le Moal
2021-09-09 2:35 ` [PATCH v8 4/5] doc: document sysfs queue/independent_access_ranges attributes Damien Le Moal
2021-09-09 2:35 ` [PATCH v8 5/5] doc: Fix typo in request queue sysfs documentation Damien Le Moal
2021-09-14 0:38 ` Damien Le Moal [this message]
2021-09-27 9:17 ` [PATCH v8 0/5] Initial support for multi-actuator HDDs Damien Le Moal
2021-09-29 3:55 ` Martin K. Petersen
2021-10-11 7:50 ` Damien Le Moal
2021-10-11 11:28 ` Tim Walker
2021-10-15 8:20 ` Damien Le Moal
2021-10-27 0:34 ` Keith Busch
2021-10-27 0:45 ` Jens Axboe
2021-10-27 0:49 ` Damien Le Moal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM6PR04MB7081FA3D112B77D86CF4126FE7DA9@DM6PR04MB7081.namprd04.prod.outlook.com \
--to=damien.lemoal@wdc.com \
--cc=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).