From: David Sterba <dsterba@suse.cz>
To: Pankaj Raghav <p.raghav@samsung.com>
Cc: "Johannes Thumshirn" <Johannes.Thumshirn@wdc.com>,
"jaegeuk@kernel.org" <jaegeuk@kernel.org>,
"axboe@kernel.dk" <axboe@kernel.dk>,
"snitzer@kernel.org" <snitzer@kernel.org>,
"hch@lst.de" <hch@lst.de>,
"mcgrof@kernel.org" <mcgrof@kernel.org>,
"Naohiro Aota" <Naohiro.Aota@wdc.com>,
"sagi@grimberg.me" <sagi@grimberg.me>,
"damien.lemoal@opensource.wdc.com"
<damien.lemoal@opensource.wdc.com>,
"dsterba@suse.com" <dsterba@suse.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
"clm@fb.com" <clm@fb.com>,
"gost.dev@samsung.com" <gost.dev@samsung.com>,
"chao@kernel.org" <chao@kernel.org>,
"linux-f2fs-devel@lists.sourceforge.net"
<linux-f2fs-devel@lists.sourceforge.net>,
"josef@toxicpanda.com" <josef@toxicpanda.com>,
"jonathan.derrick@linux.dev" <jonathan.derrick@linux.dev>,
"agk@redhat.com" <agk@redhat.com>,
"kbusch@kernel.org" <kbusch@kernel.org>,
"kch@nvidia.com" <kch@nvidia.com>,
"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
"dm-devel@redhat.com" <dm-devel@redhat.com>,
"bvanassche@acm.org" <bvanassche@acm.org>,
"jiangbo.365@bytedance.com" <jiangbo.365@bytedance.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"Matias Bjørling" <Matias.Bjorling@wdc.com>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [PATCH 00/16] support non power of 2 zoned devices
Date: Wed, 4 May 2022 23:14:40 +0200 [thread overview]
Message-ID: <20220504211440.GU18596@suse.cz> (raw)
In-Reply-To: <a702c7f7-9719-9f3e-63de-1e96f2912432@samsung.com>
On Tue, May 03, 2022 at 11:12:04AM +0200, Pankaj Raghav wrote:
> Hi Johannes,
> On 2022-05-03 00:07, Johannes Thumshirn wrote:
> >> There was an effort previously [1] to add support to non po2 devices via
> >> device level emulation but that was rejected with a final conclusion
> >> to add support for non po2 zoned device in the complete stack[2].
> >
> > Hey Pankaj,
> >
> > One thing I'm concerned with this patches is, once we have npo2 zones (or to be precise
> > not fs_info->sectorsize aligned zones) we have to check on every allocation if we still
> > have at least have fs_info->sectorsize bytes left in a zone. If not we need to
> > explicitly finish the zone, otherwise we'll run out of max active zones.
> >
> This commit: `btrfs: zoned: relax the alignment constraint for zoned
> devices` makes sure the zone size is BTRFS_STRIPE_LEN aligned (64K). So
> even the npo2 zoned device should be aligned to `fs_info->sectorsize`,
> which is typically 4k.
>
> This was one of the comment that came from David Sterba:
> https://lore.kernel.org/all/20220315142740.GU12643@twin.jikos.cz/
> where he suggested to have some sane alignment for the zone sizes.
My idea of 'sane' value would be 1M, that we have 4K for sectors is
because of the 1:1 mapping to pages, but RAM sizes are on a different
scale than storage devices. The 4K is absolute minimum but if the page
size is taken as a basic constraint, ARM has 64K and there are some 256K
arches.
next prev parent reply other threads:[~2022-05-04 21:18 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220427160256eucas1p2db2b58792ffc93026d870c260767da14@eucas1p2.samsung.com>
2022-04-27 16:02 ` [PATCH 00/16] support non power of 2 zoned devices Pankaj Raghav
2022-04-27 16:02 ` [PATCH 01/16] block: make blkdev_nr_zones and blk_queue_zone_no generic for npo2 zsze Pankaj Raghav
2022-04-29 17:16 ` Adam Manzanares
2022-05-03 16:37 ` Bart Van Assche
2022-05-03 16:43 ` Damien Le Moal
2022-05-04 8:35 ` Pankaj Raghav
2022-05-04 16:52 ` Hannes Reinecke
2022-04-27 16:02 ` [PATCH 02/16] block: add blk_queue_zone_aligned and bdev_zone_aligned helper Pankaj Raghav
2022-04-27 23:52 ` Bart Van Assche
2022-04-28 15:33 ` Pankaj Raghav
2022-05-04 16:55 ` Hannes Reinecke
2022-04-27 16:02 ` [PATCH 03/16] block: add bdev_zone_no helper Pankaj Raghav
2022-04-27 23:31 ` Damien Le Moal
2022-04-28 15:40 ` Pankaj Raghav
2022-04-27 23:53 ` Bart Van Assche
2022-04-28 15:34 ` Pankaj Raghav
2022-05-04 16:55 ` Hannes Reinecke
2022-04-27 16:02 ` [PATCH 04/16] block: allow blk-zoned devices to have non-power-of-2 zone size Pankaj Raghav
2022-04-27 23:37 ` Damien Le Moal
2022-04-28 17:29 ` Luis Chamberlain
2022-04-28 19:04 ` Pankaj Raghav
2022-05-04 16:59 ` Hannes Reinecke
2022-05-04 18:46 ` Pankaj Raghav
2022-04-27 16:02 ` [PATCH 05/16] nvme: zns: Allow ZNS drives that have non-power_of_2 " Pankaj Raghav
2022-04-29 17:23 ` Adam Manzanares
2022-05-03 16:50 ` Bart Van Assche
2022-05-04 8:38 ` Pankaj Raghav
2022-05-04 17:03 ` Hannes Reinecke
2022-05-04 18:55 ` Pankaj Raghav
2022-04-27 16:02 ` [PATCH 06/16] nvmet: use blk_queue_zone_no() Pankaj Raghav
2022-04-29 17:27 ` Adam Manzanares
2022-05-03 16:54 ` Bart Van Assche
2022-05-04 17:05 ` Hannes Reinecke
2022-04-27 16:02 ` [PATCH 07/16] btrfs: zoned: Cache superblock location in btrfs_zoned_device_info Pankaj Raghav
2022-04-27 16:02 ` [PATCH 08/16] btrfs: zoned: add generic btrfs helpers for zoned devices Pankaj Raghav
2022-04-27 16:02 ` [PATCH 09/16] btrfs: zoned: Make sb_zone_number function non power of 2 compatible Pankaj Raghav
2022-04-27 16:02 ` [PATCH 10/16] btrfs: zoned: use btrfs zone helpers to support non po2 zoned devices Pankaj Raghav
2022-04-27 16:02 ` [PATCH 11/16] btrfs: zoned: relax the alignment constraint for " Pankaj Raghav
2022-04-27 16:02 ` [PATCH 12/16] zonefs: allow non power of 2 " Pankaj Raghav
2022-04-27 23:39 ` Damien Le Moal
2022-04-28 15:54 ` Pankaj Raghav
2022-04-28 21:49 ` Damien Le Moal
2022-04-29 7:55 ` Pankaj Raghav
2022-04-27 16:02 ` [PATCH 13/16] null_blk: " Pankaj Raghav
2022-04-29 17:30 ` Adam Manzanares
2022-05-03 17:01 ` Bart Van Assche
2022-05-04 17:10 ` Hannes Reinecke
2022-04-27 16:02 ` [PATCH 14/16] f2fs: call bdev_zone_sectors() only once on init_blkz_info() Pankaj Raghav
2022-05-03 20:04 ` Jaegeuk Kim
2022-04-27 16:02 ` [PATCH 15/16] f2fs: ensure only power of 2 zone sizes are allowed Pankaj Raghav
2022-05-03 20:05 ` Jaegeuk Kim
2022-05-04 8:53 ` Pankaj Raghav
2022-04-27 16:02 ` [PATCH 16/16] dm-zoned: " Pankaj Raghav
2022-04-27 23:42 ` Damien Le Moal
2022-04-28 17:34 ` Luis Chamberlain
2022-04-28 21:43 ` Damien Le Moal
2022-04-28 22:06 ` Luis Chamberlain
2022-05-04 17:11 ` Hannes Reinecke
2022-05-02 22:07 ` [PATCH 00/16] support non power of 2 zoned devices Johannes Thumshirn
2022-05-03 9:12 ` Pankaj Raghav
2022-05-04 21:14 ` David Sterba [this message]
2022-05-05 7:28 ` Pankaj Raghav
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=20220504211440.GU18596@suse.cz \
--to=dsterba@suse.cz \
--cc=Johannes.Thumshirn@wdc.com \
--cc=Matias.Bjorling@wdc.com \
--cc=Naohiro.Aota@wdc.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=chao@kernel.org \
--cc=clm@fb.com \
--cc=damien.lemoal@opensource.wdc.com \
--cc=dm-devel@redhat.com \
--cc=dsterba@suse.com \
--cc=gost.dev@samsung.com \
--cc=hch@lst.de \
--cc=jaegeuk@kernel.org \
--cc=jiangbo.365@bytedance.com \
--cc=jonathan.derrick@linux.dev \
--cc=josef@toxicpanda.com \
--cc=kbusch@kernel.org \
--cc=kch@nvidia.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=mcgrof@kernel.org \
--cc=p.raghav@samsung.com \
--cc=sagi@grimberg.me \
--cc=snitzer@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox