All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Damien Le Moal <damien.lemoal@wdc.com>
Cc: linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>,
	linux-scsi@vger.kernel.org,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	linux-nvme@lists.infradead.org, Christoph Hellwig <hch@lst.de>,
	Keith Busch <keith.busch@wdc.com>,
	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Subject: Re: [PATCH v4 5/8] block: introduce zone_write_granularity limit
Date: Thu, 04 Feb 2021 21:54:25 -0500	[thread overview]
Message-ID: <yq1y2g3teb3.fsf@ca-mkp.ca.oracle.com> (raw)
In-Reply-To: <20210128044733.503606-6-damien.lemoal@wdc.com> (Damien Le Moal's message of "Thu, 28 Jan 2021 13:47:30 +0900")


Damien,

> Per ZBC and ZAC specifications, host-managed SMR hard-disks mandate that
> all writes into sequential write required zones be aligned to the device
> physical block size. However, NVMe ZNS does not have this constraint and
> allows write operations into sequential zones to be aligned to the
> device logical block size. This inconsistency does not help with
> software portability across device types.
>
> To solve this, introduce the zone_write_granularity queue limit to
> indicate the alignment constraint, in bytes, of write operations into
> zones of a zoned block device. This new limit is exported as a
> read-only sysfs queue attribute and the helper
> blk_queue_zone_write_granularity() introduced for drivers to set this
> limit.
>
> The function blk_queue_set_zoned() is modified to set this new limit to
> the device logical block size by default. NVMe ZNS devices as well as
> zoned nullb devices use this default value as is. The scsi disk driver
> is modified to execute the blk_queue_zone_write_granularity() helper to
> set the zone write granularity of host-managed SMR disks to the disk
> physical block size.
>
> The accessor functions queue_zone_write_granularity() and
> bdev_zone_write_granularity() are also introduced.

Looks fine.

Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>

-- 
Martin K. Petersen	Oracle Linux Engineering

WARNING: multiple messages have this Message-ID (diff)
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Damien Le Moal <damien.lemoal@wdc.com>
Cc: Jens Axboe <axboe@kernel.dk>, Keith Busch <keith.busch@wdc.com>,
	linux-scsi@vger.kernel.org,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>,
	linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v4 5/8] block: introduce zone_write_granularity limit
Date: Thu, 04 Feb 2021 21:54:25 -0500	[thread overview]
Message-ID: <yq1y2g3teb3.fsf@ca-mkp.ca.oracle.com> (raw)
In-Reply-To: <20210128044733.503606-6-damien.lemoal@wdc.com> (Damien Le Moal's message of "Thu, 28 Jan 2021 13:47:30 +0900")


Damien,

> Per ZBC and ZAC specifications, host-managed SMR hard-disks mandate that
> all writes into sequential write required zones be aligned to the device
> physical block size. However, NVMe ZNS does not have this constraint and
> allows write operations into sequential zones to be aligned to the
> device logical block size. This inconsistency does not help with
> software portability across device types.
>
> To solve this, introduce the zone_write_granularity queue limit to
> indicate the alignment constraint, in bytes, of write operations into
> zones of a zoned block device. This new limit is exported as a
> read-only sysfs queue attribute and the helper
> blk_queue_zone_write_granularity() introduced for drivers to set this
> limit.
>
> The function blk_queue_set_zoned() is modified to set this new limit to
> the device logical block size by default. NVMe ZNS devices as well as
> zoned nullb devices use this default value as is. The scsi disk driver
> is modified to execute the blk_queue_zone_write_granularity() helper to
> set the zone write granularity of host-managed SMR disks to the disk
> physical block size.
>
> The accessor functions queue_zone_write_granularity() and
> bdev_zone_write_granularity() are also introduced.

Looks fine.

Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>

-- 
Martin K. Petersen	Oracle Linux Engineering

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

  parent reply	other threads:[~2021-02-05  2:57 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28  4:47 [PATCH v4 0/8] block: add zone write granularity limit Damien Le Moal
2021-01-28  4:47 ` Damien Le Moal
2021-01-28  4:47 ` [PATCH v4 1/8] block: document zone_append_max_bytes attribute Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28 10:20   ` Johannes Thumshirn
2021-01-28 10:20     ` Johannes Thumshirn
2021-01-28  4:47 ` [PATCH v4 2/8] nvme: cleanup zone information initialization Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  9:17   ` Christoph Hellwig
2021-01-28  9:17     ` Christoph Hellwig
2021-01-28  9:27     ` Damien Le Moal
2021-01-28  9:27       ` Damien Le Moal
2021-01-28  9:32       ` Christoph Hellwig
2021-01-28  9:32         ` Christoph Hellwig
2021-01-28  4:47 ` [PATCH v4 3/8] nullb: use blk_queue_set_zoned() to setup zoned devices Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  5:12   ` Chaitanya Kulkarni
2021-01-28  5:12     ` Chaitanya Kulkarni
2021-01-28  9:17   ` Christoph Hellwig
2021-01-28  9:17     ` Christoph Hellwig
2021-01-28 11:17   ` Johannes Thumshirn
2021-01-28 11:17     ` Johannes Thumshirn
2021-01-28  4:47 ` [PATCH v4 4/8] block: use blk_queue_set_zoned in add_partition() Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  5:16   ` Chaitanya Kulkarni
2021-01-28  5:16     ` Chaitanya Kulkarni
2021-01-28  9:17   ` Christoph Hellwig
2021-01-28  9:17     ` Christoph Hellwig
2021-01-28 11:28   ` Johannes Thumshirn
2021-01-28 11:28     ` Johannes Thumshirn
2021-01-28  4:47 ` [PATCH v4 5/8] block: introduce zone_write_granularity limit Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  9:19   ` Christoph Hellwig
2021-01-28  9:19     ` Christoph Hellwig
2021-01-28 11:32   ` Johannes Thumshirn
2021-01-28 11:32     ` Johannes Thumshirn
2021-02-05  2:54   ` Martin K. Petersen [this message]
2021-02-05  2:54     ` Martin K. Petersen
2021-01-28  4:47 ` [PATCH v4 6/8] zonefs: use zone write granularity as block size Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  5:17   ` Chaitanya Kulkarni
2021-01-28  5:17     ` Chaitanya Kulkarni
2021-01-28 11:33   ` Johannes Thumshirn
2021-01-28 11:33     ` Johannes Thumshirn
2021-01-28  4:47 ` [PATCH v4 7/8] block: introduce blk_queue_clear_zone_settings() Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  5:26   ` Chaitanya Kulkarni
2021-01-28  5:26     ` Chaitanya Kulkarni
2021-01-28  9:21   ` Christoph Hellwig
2021-01-28  9:21     ` Christoph Hellwig
2021-01-28  9:32     ` Damien Le Moal
2021-01-28  9:32       ` Damien Le Moal
2021-01-28  9:33       ` Christoph Hellwig
2021-01-28  9:33         ` Christoph Hellwig
2021-01-28 11:43   ` Johannes Thumshirn
2021-01-28 11:43     ` Johannes Thumshirn
2021-01-28  4:47 ` [PATCH v4 8/8] sd_zbc: clear zone resources for non-zoned case Damien Le Moal
2021-01-28  4:47   ` Damien Le Moal
2021-01-28  5:38   ` Chaitanya Kulkarni
2021-01-28  5:38     ` Chaitanya Kulkarni
2021-01-28  5:40     ` Damien Le Moal
2021-01-28  5:40       ` Damien Le Moal
2021-01-28  9:24   ` Christoph Hellwig
2021-01-28  9:24     ` Christoph Hellwig
2021-01-28  9:36     ` Damien Le Moal
2021-01-28  9:36       ` Damien Le Moal
2021-01-28 11:48   ` Johannes Thumshirn
2021-01-28 11:48     ` Johannes Thumshirn
2021-02-05  2:56   ` Martin K. Petersen
2021-02-05  2:56     ` Martin K. Petersen
2021-02-04  8:47 ` [PATCH v4 0/8] block: add zone write granularity limit Damien Le Moal
2021-02-04  8:47   ` Damien Le Moal
2021-02-08 17:17   ` Christoph Hellwig
2021-02-08 17:17     ` Christoph Hellwig
2021-02-10 14:45 ` Jens Axboe
2021-02-10 14:45   ` Jens Axboe

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=yq1y2g3teb3.fsf@ca-mkp.ca.oracle.com \
    --to=martin.petersen@oracle.com \
    --cc=axboe@kernel.dk \
    --cc=chaitanya.kulkarni@wdc.com \
    --cc=damien.lemoal@wdc.com \
    --cc=hch@lst.de \
    --cc=keith.busch@wdc.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.