All of lore.kernel.org
 help / color / mirror / Atom feed
From: Javier Gonzalez <javier@javigon.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Kanchan Joshi <joshi.k@samsung.com>,
	kbusch@kernel.org, Damien.LeMoal@wdc.com, axboe@kernel.dk,
	sagi@grimberg.me, linux-nvme@lists.infradead.org,
	linux-kernel@vger.kernel.org, johannes.thumshirn@wdc.com,
	Nitesh Shetty <nj.shetty@samsung.com>,
	SelvaKumar S <selvakuma.s1@samsung.com>
Subject: Re: [PATCH 2/2] nvme: add emulation for zone-append
Date: Tue, 18 Aug 2020 11:50:33 +0200	[thread overview]
Message-ID: <20200818095033.h6ybdwiq3ljagl5a@mpHalley.local> (raw)
In-Reply-To: <20200818071249.GB2544@lst.de>

On 18.08.2020 09:12, Christoph Hellwig wrote:
>On Tue, Aug 18, 2020 at 10:59:36AM +0530, Kanchan Joshi wrote:
>> If drive does not support zone-append natively, enable emulation using
>> regular write.
>> Make emulated zone-append cmd write-lock the zone, preventing
>> concurrent append/write on the same zone.
>
>I really don't think we should add this.  ZNS and the Linux support
>were all designed with Zone Append in mind, and then your company did
>the nastiest possible move violating the normal NVMe procedures to make
>it optional.  But that doesn't change the fact the Linux should keep
>requiring it, especially with the amount of code added here and how it
>hooks in the fast path.

I understand that the NVMe process was agitated and that the current ZNS
implementation in Linux relies in append support from the device
perspective. However, the current TP does allow for not implementing
append, and a number of customers are requiring the use of normal
writes, which we want to support.

During the initial patch review we discussed this and we agreed that the
block layer is designed for append on zone devices, and that for the
foreseeable future this was not going to change. We therefore took the
feedback and followed a similar approach as in the SCSI driver for
implementing append emulation.

We are happy to do more characterization on the impact of these hooks in
the non-zoned hast path and eventually changing the approach if this
proves to be a problem. Our thought is to isolate any potential
performance degradation to the zoned path using the emulation (we do not
see any ATM).

Do you have any early suggestion on how you this patch should look like
to be upstreamable?

Javier

WARNING: multiple messages have this Message-ID (diff)
From: Javier Gonzalez <javier@javigon.com>
To: Christoph Hellwig <hch@lst.de>
Cc: axboe@kernel.dk, Damien.LeMoal@wdc.com,
	SelvaKumar S <selvakuma.s1@samsung.com>,
	sagi@grimberg.me, Kanchan Joshi <joshi.k@samsung.com>,
	johannes.thumshirn@wdc.com, linux-kernel@vger.kernel.org,
	linux-nvme@lists.infradead.org, kbusch@kernel.org,
	Nitesh Shetty <nj.shetty@samsung.com>
Subject: Re: [PATCH 2/2] nvme: add emulation for zone-append
Date: Tue, 18 Aug 2020 11:50:33 +0200	[thread overview]
Message-ID: <20200818095033.h6ybdwiq3ljagl5a@mpHalley.local> (raw)
In-Reply-To: <20200818071249.GB2544@lst.de>

On 18.08.2020 09:12, Christoph Hellwig wrote:
>On Tue, Aug 18, 2020 at 10:59:36AM +0530, Kanchan Joshi wrote:
>> If drive does not support zone-append natively, enable emulation using
>> regular write.
>> Make emulated zone-append cmd write-lock the zone, preventing
>> concurrent append/write on the same zone.
>
>I really don't think we should add this.  ZNS and the Linux support
>were all designed with Zone Append in mind, and then your company did
>the nastiest possible move violating the normal NVMe procedures to make
>it optional.  But that doesn't change the fact the Linux should keep
>requiring it, especially with the amount of code added here and how it
>hooks in the fast path.

I understand that the NVMe process was agitated and that the current ZNS
implementation in Linux relies in append support from the device
perspective. However, the current TP does allow for not implementing
append, and a number of customers are requiring the use of normal
writes, which we want to support.

During the initial patch review we discussed this and we agreed that the
block layer is designed for append on zone devices, and that for the
foreseeable future this was not going to change. We therefore took the
feedback and followed a similar approach as in the SCSI driver for
implementing append emulation.

We are happy to do more characterization on the impact of these hooks in
the non-zoned hast path and eventually changing the approach if this
proves to be a problem. Our thought is to isolate any potential
performance degradation to the zoned path using the emulation (we do not
see any ATM).

Do you have any early suggestion on how you this patch should look like
to be upstreamable?

Javier

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

  reply	other threads:[~2020-08-18  9:50 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200818053247epcas5p262c5fd7e207dfa5145011c4329cf239d@epcas5p2.samsung.com>
2020-08-18  5:29 ` [PATCH 0/2] enable append-emulation for ZNS Kanchan Joshi
2020-08-18  5:29   ` Kanchan Joshi
     [not found]   ` <CGME20200818053252epcas5p4ee61d64bba5f6a131105e40330984f5e@epcas5p4.samsung.com>
2020-08-18  5:29     ` [PATCH 1/2] nvme: set io-scheduler requirement " Kanchan Joshi
2020-08-18  5:29       ` Kanchan Joshi
2020-08-18  7:11       ` Christoph Hellwig
2020-08-18  7:11         ` Christoph Hellwig
2020-08-19  9:26         ` Kanchan Joshi
2020-08-19  9:26           ` Kanchan Joshi
2020-08-19  9:38           ` Damien Le Moal
2020-08-19  9:38             ` Damien Le Moal
2020-08-19 10:31             ` Kanchan Joshi
2020-08-19 10:31               ` Kanchan Joshi
2020-08-19 11:17               ` Damien Le Moal
2020-08-19 11:17                 ` Damien Le Moal
2020-09-07  7:00                 ` Kanchan Joshi
2020-09-07  7:00                   ` Kanchan Joshi
2020-09-07  8:22                   ` Damien Le Moal
2020-09-07  8:22                     ` Damien Le Moal
2020-09-07 11:23                     ` Kanchan Joshi
2020-09-07 11:23                       ` Kanchan Joshi
2020-09-07 11:37                       ` Damien Le Moal
2020-09-07 11:37                         ` Damien Le Moal
2020-09-07 11:54                         ` Kanchan Joshi
2020-09-07 11:54                           ` Kanchan Joshi
2020-09-07 12:53                           ` Damien Le Moal
2020-09-07 12:53                             ` Damien Le Moal
     [not found]   ` <CGME20200818053256epcas5p46d0b66b3702192eb6617c8bba334c15f@epcas5p4.samsung.com>
2020-08-18  5:29     ` [PATCH 2/2] nvme: add emulation for zone-append Kanchan Joshi
2020-08-18  5:29       ` Kanchan Joshi
2020-08-18  7:12       ` Christoph Hellwig
2020-08-18  7:12         ` Christoph Hellwig
2020-08-18  9:50         ` Javier Gonzalez [this message]
2020-08-18  9:50           ` Javier Gonzalez
2020-08-18 10:51           ` Matias Bjørling
2020-08-18 10:51             ` Matias Bjørling
2020-08-18 18:11             ` Javier Gonzalez
2020-08-18 18:11               ` Javier Gonzalez
2020-08-18 15:50           ` Christoph Hellwig
2020-08-18 15:50             ` Christoph Hellwig
2020-08-18 18:04             ` Javier Gonzalez
2020-08-18 18:04               ` Javier Gonzalez
2020-08-19  7:40               ` Christoph Hellwig
2020-08-19  7:40                 ` Christoph Hellwig
2020-08-19  8:33                 ` Javier Gonzalez
2020-08-19  8:33                   ` Javier Gonzalez
2020-08-19  9:14                   ` Damien Le Moal
2020-08-19  9:14                     ` Damien Le Moal
2020-08-19 10:43                     ` Christoph Hellwig
2020-08-19 10:43                       ` Christoph Hellwig
2020-08-20  6:45                       ` Javier Gonzalez
2020-08-20  6:45                         ` Javier Gonzalez
2020-08-19 10:49                   ` Christoph Hellwig
2020-08-19 10:49                     ` Christoph Hellwig
2020-08-18 16:58           ` Keith Busch
2020-08-18 16:58             ` Keith Busch
2020-08-18 17:29             ` Javier Gonzalez
2020-08-18 17:29               ` Javier Gonzalez
2020-08-18 17:39               ` Keith Busch
2020-08-18 17:39                 ` Keith Busch
2020-08-18 18:13                 ` Javier Gonzalez
2020-08-18 18:13                   ` Javier Gonzalez
2020-08-19 19:11         ` David Fugate
2020-08-19 19:11           ` David Fugate
2020-08-19 19:25           ` Jens Axboe
2020-08-19 19:25             ` Jens Axboe
2020-08-19 21:54             ` David Fugate
2020-08-19 21:54               ` David Fugate
2020-08-19 22:10               ` Keith Busch
2020-08-19 22:10                 ` Keith Busch
2020-08-19 23:43                 ` David Fugate
2020-08-19 23:43                   ` David Fugate
2020-08-20  3:45                   ` Keith Busch
2020-08-20  3:45                     ` Keith Busch
2020-08-20 23:26                     ` David Fugate
2020-08-20 23:26                       ` David Fugate
2020-08-20  5:51                   ` Christoph Hellwig
2020-08-20  5:51                     ` Christoph Hellwig
2020-08-20  6:37             ` Javier Gonzalez
2020-08-20  6:37               ` Javier Gonzalez
2020-08-20  6:52               ` Christoph Hellwig
2020-08-20  6:52                 ` Christoph Hellwig
2020-08-20  8:03                 ` Javier Gonzalez
2020-08-20  8:03                   ` Javier Gonzalez
2020-08-19 21:42           ` Keith Busch
2020-08-19 21:42             ` Keith Busch
2020-08-20  7:37             ` Kanchan Joshi
2020-08-20  7:37               ` Kanchan Joshi
2020-08-20  8:14               ` Javier Gonzalez
2020-08-20  8:14                 ` Javier Gonzalez
2020-08-20  5:29           ` Christoph Hellwig
2020-08-20  5:29             ` Christoph Hellwig

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=20200818095033.h6ybdwiq3ljagl5a@mpHalley.local \
    --to=javier@javigon.com \
    --cc=Damien.LeMoal@wdc.com \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=johannes.thumshirn@wdc.com \
    --cc=joshi.k@samsung.com \
    --cc=kbusch@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=nj.shetty@samsung.com \
    --cc=sagi@grimberg.me \
    --cc=selvakuma.s1@samsung.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.