* [LSF/MM TOPIC] copy offloading
@ 2014-01-15 20:27 Zach Brown
2014-01-15 23:10 ` Nicholas A. Bellinger
0 siblings, 1 reply; 3+ messages in thread
From: Zach Brown @ 2014-01-15 20:27 UTC (permalink / raw)
To: lsf-pc-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
Cc: linux-fsdevel-u79uwXL29TY76Z2rM5mHXA,
linux-nfs-u79uwXL29TY76Z2rM5mHXA,
linux-scsi-u79uwXL29TY76Z2rM5mHXA
Discussing copy offloading at LSF is appropriate because it can involve
so many layers of the stack:
- high level syscall interface
- in-kernel high level entry point for nfsd
- fs specific implementations (btrfs and ocfs2 cow, nfs)
- vfs helper for offloading block copies for ext*,xfs
- bio offload requests for cow block devices like bcache/dm-cache
- encoding offload bios into scsi reqs
- processing virt guest device offload requests with host syscalls
Getting the user and in-kernel interfaces right to support all these
moving parts has proven tricky. The more input, the better.
It's been a while since I sent out a refreshed version of the series.
That'll be remedied before LSF rolls around :).
- z
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [LSF/MM TOPIC] copy offloading
2014-01-15 20:27 [LSF/MM TOPIC] copy offloading Zach Brown
@ 2014-01-15 23:10 ` Nicholas A. Bellinger
[not found] ` <1389827455.5567.602.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Nicholas A. Bellinger @ 2014-01-15 23:10 UTC (permalink / raw)
To: Zach Brown; +Cc: lsf-pc, linux-fsdevel, linux-nfs, linux-scsi
On Wed, 2014-01-15 at 12:27 -0800, Zach Brown wrote:
> Discussing copy offloading at LSF is appropriate because it can involve
> so many layers of the stack:
>
> - high level syscall interface
> - in-kernel high level entry point for nfsd
> - fs specific implementations (btrfs and ocfs2 cow, nfs)
> - vfs helper for offloading block copies for ext*,xfs
> - bio offload requests for cow block devices like bcache/dm-cache
> - encoding offload bios into scsi reqs
> - processing virt guest device offload requests with host syscalls
>
> Getting the user and in-kernel interfaces right to support all these
> moving parts has proven tricky. The more input, the better.
>
> It's been a while since I sent out a refreshed version of the series.
> That'll be remedied before LSF rolls around :).
>
+1
Now that EXTENDED_COPY LID1 target mode logic is upstream, I'm really
eager to start utilizing it Linux host side. ;)
--nab
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [LSF/MM TOPIC] copy offloading
[not found] ` <1389827455.5567.602.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
@ 2014-01-16 0:46 ` Douglas Gilbert
0 siblings, 0 replies; 3+ messages in thread
From: Douglas Gilbert @ 2014-01-16 0:46 UTC (permalink / raw)
To: Nicholas A. Bellinger, Zach Brown
Cc: lsf-pc-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
linux-fsdevel-u79uwXL29TY76Z2rM5mHXA,
linux-nfs-u79uwXL29TY76Z2rM5mHXA,
linux-scsi-u79uwXL29TY76Z2rM5mHXA, Hannes Reinecke
On 14-01-15 06:10 PM, Nicholas A. Bellinger wrote:
> On Wed, 2014-01-15 at 12:27 -0800, Zach Brown wrote:
>> Discussing copy offloading at LSF is appropriate because it can involve
>> so many layers of the stack:
>>
>> - high level syscall interface
>> - in-kernel high level entry point for nfsd
>> - fs specific implementations (btrfs and ocfs2 cow, nfs)
>> - vfs helper for offloading block copies for ext*,xfs
>> - bio offload requests for cow block devices like bcache/dm-cache
>> - encoding offload bios into scsi reqs
>> - processing virt guest device offload requests with host syscalls
>>
>> Getting the user and in-kernel interfaces right to support all these
>> moving parts has proven tricky. The more input, the better.
>>
>> It's been a while since I sent out a refreshed version of the series.
>> That'll be remedied before LSF rolls around :).
>>
>
> +1
>
> Now that EXTENDED_COPY LID1 target mode logic is upstream, I'm really
> eager to start utilizing it Linux host side. ;)
Hannes Reinecke and I are preparing a proposal for a
talk about ODX (a Microsoft acronym: offloaded data
transfer) also know as "xcopy version 2, lite" by HP.
ODX is a subset of the SCSI xcopy(LID4) for disk to disk
copies. It uses the new SBC-3 POPULATE TOKEN and WRITE
USING TOKEN commands. Most uses of xcopy(LID1) today are
also disk to disk copies so ODX can be considered as an
enhancement.
There is nothing wrong with xcopy(LID1); at around 15
years old it has been a little slow to gain traction.
While we have the file system guys' attention, why not
show them some new tricks that ODX can do?
Consider this: (virtual) machines A and B share a storage
device that supports ODX; machine A wants to send a large
file to machine B. Machine A can do a POPULATE TOKEN with
a gather list and gets back a "ROD _token_" which is around
512 bytes long. It writes that ROD token to a file and
uses the network to send that file to machine B. Then
machine B calls WRITE USING TOKEN with that ROD token
and supplies a scatter list (where it wants to write).
The actual ROD (representation of data) was created
by the POPULATE TOKEN command and is sitting in
storage device with "point in time" semantics. This
trick doesn't depend on a common storage device:
several storage devices that support xcopy(LID4) and
that share a SCSI domain can "talk amongst themselves"
to effect a ROD based copy of data.
We also plan to have a Linux utility showing ODX
in action.
Doug Gilbert
BTW LID1 and LID4 are simply SCSI/T10 jargon often used
to distinguish the older generation of xcopy from
the recent version. Both will be supported when
SPC-4 and SBC-3 become standards, probably later
this year. "LID1" actually means a "list identifier
length of 1 byte", guess what LID4 stands for.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-16 0:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-15 20:27 [LSF/MM TOPIC] copy offloading Zach Brown
2014-01-15 23:10 ` Nicholas A. Bellinger
[not found] ` <1389827455.5567.602.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2014-01-16 0:46 ` Douglas Gilbert
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).