All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: "Matias Bjørling" <Matias.Bjorling@wdc.com>
Cc: "Adam Manzanares" <a.manzanares@samsung.com>,
	"Damien Le Moal" <Damien.LeMoal@wdc.com>,
	"Javier González" <javier@javigon.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"lsf-pc@lists.linux-foundation.org"
	<lsf-pc@lists.linux-foundation.org>,
	"Bart Van Assche" <bvanassche@acm.org>,
	"Keith Busch" <Keith.Busch@wdc.com>,
	"Johannes Thumshirn" <Johannes.Thumshirn@wdc.com>,
	"Naohiro Aota" <Naohiro.Aota@wdc.com>,
	"Pankaj Raghav" <pankydev8@gmail.com>,
	"Kanchan Joshi" <joshi.k@samsung.com>,
	"Nitesh Shetty" <nj.shetty@samsung.com>
Subject: Re: [LSF/MM/BPF BoF] BoF for Zoned Storage
Date: Fri, 4 Mar 2022 12:12:39 -0800	[thread overview]
Message-ID: <YiJyt79fELL6+/fF@bombadil.infradead.org> (raw)
In-Reply-To: <BYAPR04MB49686E8DFFF46555915F65BAF1049@BYAPR04MB4968.namprd04.prod.outlook.com>

On Thu, Mar 03, 2022 at 09:33:06PM +0000, Matias Bjørling wrote:
> > -----Original Message-----
> > From: Adam Manzanares <a.manzanares@samsung.com>
> > However, an end-user application should not (in my opinion) have to deal
> > with this. It should use helper functions from a library that provides the
> > appropriate abstraction to the application, such that the applications don't
> > have to care about either specific zone capacity/size, or multiple resets. This is
> > similar to how file systems work with file system semantics. For example, a file
> > can span multiple extents on disk, but all an application sees is the file
> > semantics.
> > >
> > 
> > I don't want to go so far as to say what the end user application should and
> > should not do.
> 
> Consider it as a best practice example. Another typical example is
> that one should avoid extensive flushes to disk if the application
> doesn't need persistence for each I/O it issues. 

Although I was sad to see there was no raw access to a block zoned
storage device, the above makes me kind of happy that this is the case
today. Why? Because there is an implicit requirement on management of
data on zone storage devices outside of regular storage SSDs, and if
its not considered and *very well documented*, in agreement with us
all, we can end up with folks slightly surprised with these
requirements.

An application today can't directly manage these objects so that's not
even possible today. And in fact it's not even clear if / how we'll get
there.

So in the meantime the only way to access zones directly, if an application
wants anything close as possible to the block layer, the only way is
through the VFS through zonefs. I can hear people cringing even if you
are miles away. If we want an improvement upon this, whatever API we come
up with we *must* clearly embrace and document the requirements /
responsiblities above.

From what I read, the unmapped LBA problem can be observed as a
non-problem *iff* users are willing to deal with the above. We seem to
have disagreement on the expection from users.

Any way, there are two aspects to what Javier was mentioning and I think
it is *critial* to separate them:

 a) emulation should be possible given the nature of NAND
 b) The PO2 requirement exists, is / should it exist forever?

The discussion around these two throws drew in a third aspect:

c) Applications which want to deal with LBAs directly on
NVMe ZNS drives must be aware of the ZNS design and deal with
it diretly or indirectly in light of the unmapped LBAs which
are caused by the differences between zone sizes, zone capacity,
how objects can span multiple zones, zone resets, etc.

I think a) is easier to swallow and accept provided there is
no impact on existing users. b) and c) are things which I think
could be elaborated a bit more at LSFMM through community dialog.

  Luis

  reply	other threads:[~2022-03-04 20:16 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-03  0:56 [LSF/MM/BPF BoF] BoF for Zoned Storage Luis Chamberlain
2022-03-03  1:03 ` Luis Chamberlain
2022-03-03  1:33 ` Bart Van Assche
2022-03-03  4:31   ` Matias Bjørling
2022-03-03  5:21     ` Adam Manzanares
2022-03-03  5:32 ` Javier González
2022-03-03  6:29   ` Javier González
2022-03-03  7:54     ` Pankaj Raghav
2022-03-03  9:49     ` Damien Le Moal
2022-03-03 14:55       ` Adam Manzanares
2022-03-03 15:22         ` Damien Le Moal
2022-03-03 17:10           ` Adam Manzanares
2022-03-03 19:51             ` Matias Bjørling
2022-03-03 20:18               ` Adam Manzanares
2022-03-03 21:08                 ` Javier González
2022-03-03 21:33                 ` Matias Bjørling
2022-03-04 20:12                   ` Luis Chamberlain [this message]
2022-03-06 23:54                     ` Damien Le Moal
2022-03-03 16:12     ` Himanshu Madhani
2022-03-03  7:21 ` Hannes Reinecke
2022-03-03  8:55   ` Damien Le Moal
2022-03-03  7:38 ` Kanchan Joshi
2022-03-03  8:43 ` Johannes Thumshirn
2022-03-03 18:20 ` Viacheslav Dubeyko
2022-03-04  0:10 ` Dave Chinner
2022-03-04 22:10   ` Luis Chamberlain
2022-03-04 22:42     ` Dave Chinner
2022-03-04 22:55       ` Luis Chamberlain
2022-03-05  7:33         ` Javier González
2022-03-07  7:12           ` Dave Chinner
2022-03-07 10:27             ` Matias Bjørling
2022-03-07 11:29               ` Javier González
2022-03-11  0:49             ` Luis Chamberlain
2022-03-11  6:07               ` Christoph Hellwig
2022-03-11 20:31                 ` Luis Chamberlain
2022-03-07 13:55           ` James Bottomley
2022-03-07 14:35             ` Javier González
2022-03-07 15:15               ` Keith Busch
2022-03-07 15:28                 ` Javier González
2022-03-07 20:42                 ` Damien Le Moal
2022-03-11  7:21                   ` Javier González
2022-03-11  7:39                     ` Damien Le Moal
2022-03-11  7:42                       ` Christoph Hellwig
2022-03-11  7:53                         ` Javier González
2022-03-11  8:46                           ` Christoph Hellwig
2022-03-11  8:59                             ` Javier González
2022-03-12  8:03                               ` Damien Le Moal
2022-03-07  0:07         ` Damien Le Moal
2022-03-06 23:56     ` Damien Le Moal
2022-03-07 15:44       ` Luis Chamberlain
2022-03-07 16:23         ` Johannes Thumshirn
2022-03-07 16:36           ` Luis Chamberlain
2022-03-15 18:08 ` [EXT] " Luca Porzio (lporzio)
2022-03-15 18:39   ` Bart Van Assche
2022-03-15 18:47     ` Bean Huo (beanhuo)
2022-03-15 18:49       ` Jens Axboe
2022-03-15 19:04         ` Bean Huo (beanhuo)
2022-03-15 19:16           ` Jens Axboe
2022-03-15 19:59           ` Bart Van Assche

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=YiJyt79fELL6+/fF@bombadil.infradead.org \
    --to=mcgrof@kernel.org \
    --cc=Damien.LeMoal@wdc.com \
    --cc=Johannes.Thumshirn@wdc.com \
    --cc=Keith.Busch@wdc.com \
    --cc=Matias.Bjorling@wdc.com \
    --cc=Naohiro.Aota@wdc.com \
    --cc=a.manzanares@samsung.com \
    --cc=bvanassche@acm.org \
    --cc=javier@javigon.com \
    --cc=joshi.k@samsung.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=nj.shetty@samsung.com \
    --cc=pankydev8@gmail.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 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.