linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).