Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756396Ab3IKRIP (ORCPT ); Wed, 11 Sep 2013 13:08:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:30017 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755433Ab3IKRIN (ORCPT ); Wed, 11 Sep 2013 13:08:13 -0400 From: Zach Brown To: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, Trond Myklebust , Bryan Schumaker , "Martin K. Petersen" , Jens Axboe , Mark Fasheh , Joel Becker , Eric Wong Subject: [RFC] extending splice for copy offloading Date: Wed, 11 Sep 2013 10:06:47 -0700 Message-Id: <1378919210-10372-1-git-send-email-zab@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1793 Lines: 46 When I first started on this stuff I followed the lead of previous work and added a new syscall for the copy operation: https://lkml.org/lkml/2013/5/14/618 Towards the end of that thread Eric Wong asked why we didn't just extend splice. I immediately replied with some dumb dismissive answer. Once I sat down and looked at it, though, it does make a lot of sense. So good job, Eric. +10 Dummie points for me. Extending splice avoids all the noise of adding a new syscall and naturally falls back to buffered copying as that's what the direct splice path does for sendfile() today. So that's what this patch series demonstrates. It adds a flag that lets splice get at the same direct splicing that sendfile() does. We then add a file system file_operations method to accelerate the copy which has access to both files. Some things to talk about: - I really don't care about the naming here. If you do, holler. - We might want different flags for file-to-file splicing and acceleration - We might want flags to require or forbid acceleration - We might want to provide all these flags to sendfile, too Thoughts? Objections? Bryan, do you see any problems with wiring the NFS COPY RPC under this? Martin, are we any closer to getting blk_() calls to kick off XCOPY bios? OCFS2 friends, is it a managable amount of work to implement an ocfs2_splice_direct() that only modifies a region of the destination file? Finally, there's a slot in the plumbers schedule next week to talk about this stuff. Come say hi if you're interested. -z -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/