All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nitesh Shetty <nj.shetty@samsung.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Jens Axboe <axboe@kernel.dk>, Vincent Fu <vincent.fu@samsung.com>,
	Christian Brauner <brauner@kernel.org>,
	Chaitanya Kulkarni <kch@nvidia.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	martin.petersen@oracle.com, Jonathan Corbet <corbet@lwn.net>,
	gost.dev@samsung.com, Anuj Gupta <anuj20.g@samsung.com>,
	linux-doc@vger.kernel.org, Mike Snitzer <snitzer@kernel.org>,
	mcgrof@kernel.org, linux-nvme@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>,
	Alasdair Kergon <agk@redhat.com>
Subject: Re: [dm-devel] [PATCH v15 04/12] block: add emulation for copy
Date: Mon, 11 Sep 2023 12:39:37 +0530	[thread overview]
Message-ID: <20230911070937.GB28177@green245> (raw)
In-Reply-To: <e6fc7e65-ad31-4ca2-8b1b-4d97ba32926e@suse.de>

[-- Attachment #1: Type: text/plain, Size: 1445 bytes --]

On Fri, Sep 08, 2023 at 08:06:38AM +0200, Hannes Reinecke wrote:
> On 9/6/23 18:38, Nitesh Shetty wrote:
> > For the devices which does not support copy, copy emulation is added.
> > It is required for in-kernel users like fabrics, where file descriptor is
> > not available and hence they can't use copy_file_range.
> > Copy-emulation is implemented by reading from source into memory and
> > writing to the corresponding destination.
> > Also emulation can be used, if copy offload fails or partially completes.
> > At present in kernel user of emulation is NVMe fabrics.
> > 
> Leave out the last sentence; I really would like to see it enabled for SCSI,
> too (we do have copy offload commands for SCSI ...).
> 
Sure, will do that

> And it raises all the questions which have bogged us down right from the
> start: where is the point in calling copy offload if copy offload is not
> implemented or slower than copying it by hand?
> And how can the caller differentiate whether copy offload bring a benefit to
> him?
> 
> IOW: wouldn't it be better to return -EOPNOTSUPP if copy offload is not
> available?

Present approach treats copy as a background operation and the idea is to
maximize the chances of achieving copy by falling back to emulation.
Having said that, it should be possible to return -EOPNOTSUPP,
in case of offload IO failure or device not supporting offload.
We will update this in next version.

Thank you,
Nitesh Shetty

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



[-- Attachment #3: Type: text/plain, Size: 98 bytes --]

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

WARNING: multiple messages have this Message-ID (diff)
From: Nitesh Shetty <nj.shetty@samsung.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Jens Axboe <axboe@kernel.dk>, Jonathan Corbet <corbet@lwn.net>,
	Alasdair Kergon <agk@redhat.com>,
	Mike Snitzer <snitzer@kernel.org>,
	dm-devel@redhat.com, Keith Busch <kbusch@kernel.org>,
	Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
	Chaitanya Kulkarni <kch@nvidia.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>,
	martin.petersen@oracle.com, mcgrof@kernel.org,
	gost.dev@samsung.com, Vincent Fu <vincent.fu@samsung.com>,
	Anuj Gupta <anuj20.g@samsung.com>,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v15 04/12] block: add emulation for copy
Date: Mon, 11 Sep 2023 12:39:37 +0530	[thread overview]
Message-ID: <20230911070937.GB28177@green245> (raw)
In-Reply-To: <e6fc7e65-ad31-4ca2-8b1b-4d97ba32926e@suse.de>

[-- Attachment #1: Type: text/plain, Size: 1445 bytes --]

On Fri, Sep 08, 2023 at 08:06:38AM +0200, Hannes Reinecke wrote:
> On 9/6/23 18:38, Nitesh Shetty wrote:
> > For the devices which does not support copy, copy emulation is added.
> > It is required for in-kernel users like fabrics, where file descriptor is
> > not available and hence they can't use copy_file_range.
> > Copy-emulation is implemented by reading from source into memory and
> > writing to the corresponding destination.
> > Also emulation can be used, if copy offload fails or partially completes.
> > At present in kernel user of emulation is NVMe fabrics.
> > 
> Leave out the last sentence; I really would like to see it enabled for SCSI,
> too (we do have copy offload commands for SCSI ...).
> 
Sure, will do that

> And it raises all the questions which have bogged us down right from the
> start: where is the point in calling copy offload if copy offload is not
> implemented or slower than copying it by hand?
> And how can the caller differentiate whether copy offload bring a benefit to
> him?
> 
> IOW: wouldn't it be better to return -EOPNOTSUPP if copy offload is not
> available?

Present approach treats copy as a background operation and the idea is to
maximize the chances of achieving copy by falling back to emulation.
Having said that, it should be possible to return -EOPNOTSUPP,
in case of offload IO failure or device not supporting offload.
We will update this in next version.

Thank you,
Nitesh Shetty

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2023-09-11  7:28 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20230906164238epcas5p4a511a029fb8ae8bbc36b750712ad64d5@epcas5p4.samsung.com>
2023-09-06 16:38 ` [dm-devel] [PATCH v15 00/12] Implement copy offload support Nitesh Shetty
2023-09-06 16:38   ` Nitesh Shetty
2023-09-06 16:38   ` [dm-devel] [PATCH v15 01/12] block: Introduce queue limits and sysfs for copy-offload support Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-07 18:38     ` [dm-devel] " Luis Chamberlain
2023-09-07 18:38       ` Luis Chamberlain
2023-09-06 16:38   ` [dm-devel] [PATCH v15 02/12] Add infrastructure for copy offload in block and request layer Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-07  5:39     ` [dm-devel] " Hannes Reinecke
2023-09-07  5:39       ` Hannes Reinecke
2023-09-07  7:09       ` [dm-devel] " Nitesh Shetty
2023-09-07  7:09         ` Nitesh Shetty
2023-09-06 16:38   ` [dm-devel] [PATCH v15 03/12] block: add copy offload support Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-07  5:49     ` [dm-devel] " Hannes Reinecke
2023-09-07  5:49       ` Hannes Reinecke
2023-09-07  7:16       ` [dm-devel] " Nitesh Shetty
2023-09-07  7:16         ` Nitesh Shetty
2023-09-08  5:55         ` [dm-devel] " Hannes Reinecke
2023-09-08  5:55           ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 04/12] block: add emulation for copy Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:06     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:06       ` Hannes Reinecke
2023-09-11  7:09       ` Nitesh Shetty [this message]
2023-09-11  7:09         ` Nitesh Shetty
2023-09-11  7:39         ` [dm-devel] " Hannes Reinecke
2023-09-11  7:39           ` Hannes Reinecke
2023-09-11 10:20           ` [dm-devel] " Nitesh Shetty
2023-09-11 10:20             ` Nitesh Shetty
2023-09-06 16:38   ` [dm-devel] [PATCH v15 05/12] fs/read_write: Enable copy_file_range for block device Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:07     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:07       ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 06/12] fs, block: copy_file_range for def_blk_ops for direct " Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:08     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:08       ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 07/12] nvme: add copy offload support Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:09     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:09       ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 08/12] nvmet: add copy command support for bdev and file ns Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:11     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:11       ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 09/12] dm: Add support for copy offload Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:13     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:13       ` Hannes Reinecke
2023-09-11  7:07       ` [dm-devel] " Nitesh Shetty
2023-09-11  7:07         ` Nitesh Shetty
2023-09-11  7:45         ` [dm-devel] " Hannes Reinecke
2023-09-11  7:45           ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 10/12] dm: Enable copy offload for dm-linear target Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:14     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:14       ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 11/12] null: Enable trace capability for null block Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-08  6:14     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:14       ` Hannes Reinecke
2023-09-06 16:38   ` [dm-devel] [PATCH v15 12/12] null_blk: add support for copy offload Nitesh Shetty
2023-09-06 16:38     ` Nitesh Shetty
2023-09-06 22:01     ` [dm-devel] " kernel test robot
2023-09-06 22:01       ` kernel test robot
2023-09-06 22:58     ` [dm-devel] " kernel test robot
2023-09-06 22:58       ` kernel test robot
2023-09-08  6:16     ` [dm-devel] " Hannes Reinecke
2023-09-08  6:16       ` Hannes Reinecke

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=20230911070937.GB28177@green245 \
    --to=nj.shetty@samsung.com \
    --cc=agk@redhat.com \
    --cc=anuj20.g@samsung.com \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=corbet@lwn.net \
    --cc=dm-devel@redhat.com \
    --cc=gost.dev@samsung.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=kch@nvidia.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=martin.petersen@oracle.com \
    --cc=mcgrof@kernel.org \
    --cc=sagi@grimberg.me \
    --cc=snitzer@kernel.org \
    --cc=vincent.fu@samsung.com \
    --cc=viro@zeniv.linux.org.uk \
    /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.