linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tim Walker <tim.t.walker@seagate.com>
To: Damien Le Moal <Damien.LeMoal@wdc.com>,
	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: Mon, 11 Oct 2021 11:28:51 +0000	[thread overview]
Message-ID: <C6214FFF-B7E3-44F8-A1EC-FFB0F7C6E6B3@seagate.com> (raw)
In-Reply-To: <DM6PR04MB70819BAA37D51638C5D8A081E7B59@DM6PR04MB7081.namprd04.prod.outlook.com>



On  Monday, October 11, 2021 at 3:50:20 AM Damien Le Moal wrote:

>
>
>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.
>
>Jens,
>
>Any chance to get this merged for 5.16 ?
>

Jens-

It would be great to have Damien's patches merged in -- it's important for the multi-actuator support we've been adding to BFQ and ultimately for other schedulers or user-space to manage queue balance on SATA dual actuator. Thanks.

Best regards,
-Tim Walker
Seagate Research


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


  reply	other threads:[~2021-10-11 11:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09  2:35 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 ` [PATCH v8 0/5] Initial support for multi-actuator HDDs Damien Le Moal
2021-09-27  9:17 ` 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 [this message]
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=C6214FFF-B7E3-44F8-A1EC-FFB0F7C6E6B3@seagate.com \
    --to=tim.t.walker@seagate.com \
    --cc=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 \
    --subject='Re: [PATCH v8 0/5] Initial support for multi-actuator HDDs' \
    /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

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