linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nitesh Shetty <nj.shetty@samsung.com>
To: Dave Chinner <david@fromorbit.com>
Cc: javier@javigon.com, chaitanyak@nvidia.com,
	linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	dm-devel@redhat.com, linux-nvme@lists.infradead.org,
	linux-fsdevel@vger.kernel.org, axboe@kernel.dk,
	msnitzer@redhat.com, bvanassche@acm.org,
	martin.petersen@oracle.com, hare@suse.de, kbusch@kernel.org,
	hch@lst.de, Frederick.Knight@netapp.com, osandov@fb.com,
	lsf-pc@lists.linux-foundation.org, djwong@kernel.org,
	josef@toxicpanda.com, clm@fb.com, dsterba@suse.com,
	tytso@mit.edu, jack@suse.com, joshi.k@samsung.com,
	arnav.dawn@samsung.com, nitheshshetty@gmail.com,
	Alasdair Kergon <agk@redhat.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	James Smart <james.smart@broadcom.com>,
	Chaitanya Kulkarni <kch@nvidia.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 00/10] Add Copy offload support
Date: Thu, 17 Feb 2022 18:32:15 +0530	[thread overview]
Message-ID: <20220217130215.GB3781@test-zns> (raw)
In-Reply-To: <20220214220741.GB2872883@dread.disaster.area>

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

 Tue, Feb 15, 2022 at 09:08:12AM +1100, Dave Chinner wrote:
> On Mon, Feb 14, 2022 at 01:29:50PM +0530, Nitesh Shetty wrote:
> > The patch series covers the points discussed in November 2021 virtual call
> > [LSF/MM/BFP TOPIC] Storage: Copy Offload[0].
> > We have covered the Initial agreed requirements in this patchset.
> > Patchset borrows Mikulas's token based approach for 2 bdev
> > implementation.
> > 
> > Overall series supports –
> > 
> > 1. Driver
> > - NVMe Copy command (single NS), including support in nvme-target (for
> > 	block and file backend)
> > 
> > 2. Block layer
> > - Block-generic copy (REQ_COPY flag), with interface accommodating
> > 	two block-devs, and multi-source/destination interface
> > - Emulation, when offload is natively absent
> > - dm-linear support (for cases not requiring split)
> > 
> > 3. User-interface
> > - new ioctl
> > 
> > 4. In-kernel user
> > - dm-kcopyd
> 
> The biggest missing piece - and arguably the single most useful
> piece of this functionality for users - is hooking this up to the
> copy_file_range() syscall so that user file copies can be offloaded
> to the hardware efficiently.
> 
> This seems like it would relatively easy to do with an fs/iomap iter
> loop that maps src + dst file ranges and issues block copy offload
> commands on the extents. We already do similar "read from source,
> write to destination" operations in iomap, so it's not a huge
> stretch to extent the iomap interfaces to provide an copy offload
> mechanism using this infrastructure.
> 
> Also, hooking this up to copy-file-range() will also get you
> immediate data integrity testing right down to the hardware via fsx
> in fstests - it uses copy_file_range() as one of it's operations and
> it will find all the off-by-one failures in both the linux IO stack
> implementation and the hardware itself.
> 
> And, in reality, I wouldn't trust a block copy offload mechanism
> until it is integrated with filesystems, the page cache and has
> solid end-to-end data integrity testing available to shake out all
> the bugs that will inevitably exist in this stack....
> 
> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david@fromorbit.com
>

We had planned copy_file_range (CFR) in next phase of copy offload patch series.
Thinking that we will get to CFR when everything else is robust.
But if that is needed to make things robust, will start looking into that.

--
Nitesh Shetty

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



  reply	other threads:[~2022-02-18  5:01 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20220214080551epcas5p201d4d85e9d66077f97585bb3c64517c0@epcas5p2.samsung.com>
2022-02-14  7:59 ` [PATCH v3 00/10] Add Copy offload support Nitesh Shetty
     [not found]   ` <CGME20220214080558epcas5p17c1fb3b659b956908ff7215a61bcc0c9@epcas5p1.samsung.com>
2022-02-14  7:59     ` [PATCH v3 01/10] block: make bio_map_kern() non static Nitesh Shetty
2022-02-17  8:36       ` Luis Chamberlain
2022-02-17 13:30         ` Nitesh Shetty
     [not found]   ` <CGME20220214080605epcas5p16868dae515a6355cf9fecf22df4f3c3d@epcas5p1.samsung.com>
2022-02-14  7:59     ` [PATCH v3 02/10] block: Introduce queue limits for copy-offload support Nitesh Shetty
2022-02-17  9:07       ` Luis Chamberlain
2022-02-17 10:16         ` Chaitanya Kulkarni
2022-02-17 17:49           ` Luis Chamberlain
2022-02-17 12:59         ` Nitesh Shetty
2022-02-23  0:55           ` Luis Chamberlain
2022-02-23  1:29             ` Damien Le Moal
2022-02-24 12:12               ` Nitesh Shetty
2022-02-24 12:02             ` Nitesh Shetty
     [not found]   ` <CGME20220214080612epcas5p2228606969011ce88a94d3b1be30d0614@epcas5p2.samsung.com>
2022-02-14  7:59     ` [PATCH v3 03/10] block: Add copy offload support infrastructure Nitesh Shetty
     [not found]   ` <CGME20220214080620epcas5p364a6e5bbf5ade9d115945d7b0cb1b947@epcas5p3.samsung.com>
2022-02-14  7:59     ` [PATCH v3 04/10] block: Introduce a new ioctl for copy Nitesh Shetty
     [not found]   ` <CGME20220214080627epcas5p11a8aef1b6aae05f61c7d241477bd11a3@epcas5p1.samsung.com>
2022-02-14  7:59     ` [PATCH v3 05/10] block: add emulation " Nitesh Shetty
     [not found]   ` <CGME20220214080634epcas5p40b2c60e959b89355a25db7c69219d039@epcas5p4.samsung.com>
2022-02-14  7:59     ` [PATCH v3 06/10] nvme: add copy offload support Nitesh Shetty
     [not found]   ` <CGME20220214080641epcas5p4662e8d0c86f93d525032067cc039c7af@epcas5p4.samsung.com>
2022-02-14  7:59     ` [PATCH v3 07/10] nvmet: add copy command support for bdev and file ns Nitesh Shetty
     [not found]   ` <CGME20220214080649epcas5p36ab21e7d33b99eac1963e637389c8be4@epcas5p3.samsung.com>
2022-02-14  7:59     ` [PATCH v3 08/10] dm: Add support for copy offload Nitesh Shetty
2022-02-22 16:00       ` Mike Snitzer
2022-02-24 12:26         ` Nitesh Shetty
     [not found]   ` <CGME20220214080656epcas5p31c80cce4f9638bccdf2bc225b339c37e@epcas5p3.samsung.com>
2022-02-14  7:59     ` [PATCH v3 09/10] dm: Enable copy offload for dm-linear target Nitesh Shetty
     [not found]   ` <CGME20220214080703epcas5p2980d814681e2f3328490824710c8fded@epcas5p2.samsung.com>
2022-02-14  8:00     ` [PATCH v3 10/10] dm kcopyd: use copy offload support Nitesh Shetty
2022-02-14 22:08   ` [PATCH v3 00/10] Add Copy " Dave Chinner
2022-02-17 13:02     ` Nitesh Shetty [this message]
2022-02-23  1:43       ` Dave Chinner

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=20220217130215.GB3781@test-zns \
    --to=nj.shetty@samsung.com \
    --cc=Frederick.Knight@netapp.com \
    --cc=agk@redhat.com \
    --cc=arnav.dawn@samsung.com \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=chaitanyak@nvidia.com \
    --cc=clm@fb.com \
    --cc=david@fromorbit.com \
    --cc=djwong@kernel.org \
    --cc=dm-devel@redhat.com \
    --cc=dsterba@suse.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jack@suse.com \
    --cc=james.smart@broadcom.com \
    --cc=javier@javigon.com \
    --cc=josef@toxicpanda.com \
    --cc=joshi.k@samsung.com \
    --cc=kbusch@kernel.org \
    --cc=kch@nvidia.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=martin.petersen@oracle.com \
    --cc=msnitzer@redhat.com \
    --cc=nitheshshetty@gmail.com \
    --cc=osandov@fb.com \
    --cc=sagi@grimberg.me \
    --cc=snitzer@redhat.com \
    --cc=tytso@mit.edu \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).