Message ID | 20210721104205.885115-1-damien.lemoal@wdc.com (mailing list archive) |
---|---|
Headers | show |
Series | Initial support for multi-actuator HDDs | expand |
On 7/21/21 12:42 PM, 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 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. > > This series does not attempt in any way to optimize accesses to > multi-actuator devices (e.g. block IO scheduler or filesystems). This > initial support only exposes the actuators information to user space > through sysfs. > > Damien Le Moal (4): > block: Add concurrent positioning ranges support > scsi: sd: add concurrent positioning ranges support > libata: support concurrent positioning ranges log > doc: document sysfs queue/cranges attributes > > Documentation/block/queue-sysfs.rst | 27 ++- > block/Makefile | 2 +- > block/blk-cranges.c | 286 ++++++++++++++++++++++++++++ > block/blk-sysfs.c | 13 ++ > block/blk.h | 3 + > drivers/ata/libata-core.c | 57 ++++++ > drivers/ata/libata-scsi.c | 47 ++++- > drivers/scsi/sd.c | 80 ++++++++ > drivers/scsi/sd.h | 1 + > include/linux/ata.h | 1 + > include/linux/blkdev.h | 29 +++ > include/linux/libata.h | 11 ++ > 12 files changed, 546 insertions(+), 11 deletions(-) > create mode 100644 block/blk-cranges.c > Oh well, you beat me to it. Actually I have patches here locally, which just had been waiting for the missing SBC definitions, which apparently are present now. Too bad; should have been more aggressive posting them :-) Cheers, Hannes