From: Douglas Gilbert <dgilbert@interlog.com>
To: Mikulas Patocka <mpatocka@redhat.com>,
Bart Van Assche <bvanassche@acm.org>
Cc: SelvaKumar S <selvakuma.s1@samsung.com>,
linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
linux-api@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
kbusch@kernel.org, axboe@kernel.dk, damien.lemoal@wdc.com,
asml.silence@gmail.com, johannes.thumshirn@wdc.com, hch@lst.de,
willy@infradead.org, kch@kernel.org,
"Martin K. Petersen" <martin.petersen@oracle.com>,
djwong@kernel.org, Mike Snitzer <snitzer@redhat.com>,
agk@redhat.com, selvajove@gmail.com, joshiiitr@gmail.com,
nj.shetty@samsung.com, nitheshshetty@gmail.com,
joshi.k@samsung.com, javier.gonz@samsung.com,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 3/7] block: copy offload support infrastructure
Date: Tue, 17 Aug 2021 17:53:45 -0400 [thread overview]
Message-ID: <bbecc7e7-8bf5-3fe3-6c24-883c79fb7517@interlog.com> (raw)
In-Reply-To: <alpine.LRH.2.02.2108171630120.30363@file01.intranet.prod.int.rdu2.redhat.com>
On 2021-08-17 4:41 p.m., Mikulas Patocka wrote:
>
>
> On Tue, 17 Aug 2021, Bart Van Assche wrote:
>
>> On 8/17/21 3:14 AM, SelvaKumar S wrote:
>>> Introduce REQ_OP_COPY, a no-merge copy offload operation. Create
>>> bio with control information as payload and submit to the device.
>>> Larger copy operation may be divided if necessary by looking at device
>>> limits. REQ_OP_COPY(19) is a write op and takes zone_write_lock when
>>> submitted to zoned device.
>>> Native copy offload is not supported for stacked devices.
>>
>> Using a single operation for copy-offloading instead of separate operations
>> for reading and writing is fundamentally incompatible with the device mapper.
>> I think we need a copy-offloading implementation that is compatible with the
>> device mapper.
>
> I once wrote a copy offload implementation that is compatible with device
> mapper. The copy operation creates two bios (one for reading and one for
> writing), passes them independently through device mapper and pairs them
> at the physical device driver.
>
> It's here: http://people.redhat.com/~mpatocka/patches/kernel/xcopy/current
In my copy solution the read-side and write-side bio pairs share the same
storage (i.e. ram) This gets around the need to copy data between the bio_s.
See:
https://sg.danny.cz/sg/sg_v40.html
in Section 8 on Request sharing. This technique can be efficiently extend to
source --> destination1,destination2,... copies.
Doug Gilbert
> I verified that it works with iSCSI. Would you be interested in continuing
> this work?
>
> Mikulas
>
>> Storing the parameters of the copy operation in the bio payload is
>> incompatible with the current implementation of bio_split().
>>
>> In other words, I think there are fundamental problems with this patch series.
>>
>> Bart.
>>
>
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2021-08-17 22:03 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20210817101741epcas5p174ca0a539587da6a67b9f58cd13f2bad@epcas5p1.samsung.com>
2021-08-17 10:14 ` [PATCH 0/7] add simple copy support SelvaKumar S
2021-08-17 10:14 ` [PATCH 1/7] block: make bio_map_kern() non static SelvaKumar S
2021-08-17 10:14 ` [PATCH 2/7] block: Introduce queue limits for copy-offload support SelvaKumar S
2021-08-17 13:08 ` Greg KH
2021-08-17 14:42 ` Nitesh Shetty
2021-08-17 10:14 ` [PATCH 3/7] block: copy offload support infrastructure SelvaKumar S
2021-08-17 17:14 ` Bart Van Assche
2021-08-17 20:41 ` Mikulas Patocka
2021-08-17 21:53 ` Douglas Gilbert [this message]
2021-08-17 22:06 ` Bart Van Assche
2021-08-20 10:39 ` Kanchan Joshi
2021-08-20 21:18 ` Bart Van Assche
2021-08-26 7:46 ` Nitesh Shetty
2021-08-17 20:35 ` kernel test robot
2021-08-18 18:35 ` Martin K. Petersen
2021-08-20 11:11 ` Kanchan Joshi
2021-08-17 10:14 ` [PATCH 4/7] block: Introduce a new ioctl for simple copy SelvaKumar S
2021-08-17 13:09 ` Greg KH
2021-08-17 13:10 ` Greg KH
2021-08-17 14:48 ` Nitesh Shetty
2021-08-17 23:36 ` Darrick J. Wong
2021-08-18 15:37 ` Nitesh Shetty
2021-08-18 16:17 ` Darrick J. Wong
2021-08-17 10:14 ` [PATCH 5/7] block: add emulation " SelvaKumar S
2021-08-17 22:10 ` kernel test robot
2021-08-17 10:14 ` [PATCH 6/7] nvme: add simple copy support SelvaKumar S
2021-08-17 10:14 ` [PATCH 7/7] dm kcopyd: add simple copy offload support SelvaKumar S
2021-08-17 20:29 ` [dm-devel] " Mikulas Patocka
2021-08-17 23:37 ` [PATCH 0/7] add simple copy support Darrick J. Wong
2021-08-18 15:40 ` Nitesh Shetty
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=bbecc7e7-8bf5-3fe3-6c24-883c79fb7517@interlog.com \
--to=dgilbert@interlog.com \
--cc=agk@redhat.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=damien.lemoal@wdc.com \
--cc=djwong@kernel.org \
--cc=dm-devel@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=javier.gonz@samsung.com \
--cc=johannes.thumshirn@wdc.com \
--cc=joshi.k@samsung.com \
--cc=joshiiitr@gmail.com \
--cc=kbusch@kernel.org \
--cc=kch@kernel.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=mpatocka@redhat.com \
--cc=nitheshshetty@gmail.com \
--cc=nj.shetty@samsung.com \
--cc=selvajove@gmail.com \
--cc=selvakuma.s1@samsung.com \
--cc=snitzer@redhat.com \
--cc=willy@infradead.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