linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
To: Zach Brown <zab-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Trond Myklebust
	<Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>,
	Bryan Schumaker
	<bjschuma-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>,
	"Martin K. Petersen" <mkp-30zCAauEzIw@public.gmane.org>,
	Jens Axboe <axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>,
	Mark Fasheh <mfasheh-IBi9RG/b67k@public.gmane.org>,
	Joel Becker <jlbec-aKy9MeLSZ9dg9hUCZPvPmw@public.gmane.org>,
	Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org>
Subject: Re: [RFC] extending splice for copy offloading
Date: Wed, 18 Dec 2013 04:41:26 -0800	[thread overview]
Message-ID: <20131218124126.GA15328@infradead.org> (raw)
In-Reply-To: <1378919210-10372-1-git-send-email-zab-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On Wed, Sep 11, 2013 at 10:06:47AM -0700, Zach Brown wrote:
> 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.

Given the convolute mess that the splice code already is I'd rather
prefer not overloading it even further.

Instead I'd make the sendfile code path that already works different
in practice separate first, and then generalize it to a copy chunk
syscall using the same code path.

We can still fall back to the splice code as a fallback if no option
is provided as a last resort, but I think making the splice code handle
even more totally different cases is the wrong direction.

--
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

  parent reply	other threads:[~2013-12-18 12:41 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-11 17:06 [RFC] extending splice for copy offloading Zach Brown
2013-09-11 21:17 ` Eric Wong
     [not found]   ` <20130911211722.GA9725-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2013-09-16 19:44     ` Rob Landley
2013-09-19 12:59   ` Jeff Layton
     [not found] ` <1378919210-10372-1-git-send-email-zab-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-11 17:06   ` [PATCH 1/3] splice: add DIRECT flag for splicing between files Zach Brown
2013-09-11 17:06   ` [PATCH 2/3] splice: add f_op->splice_direct Zach Brown
2013-09-11 17:06   ` [PATCH 3/3] btrfs: implement .splice_direct extent copying Zach Brown
2013-09-20  9:49   ` [RFC] extending splice for copy offloading Szeredi Miklos
     [not found]     ` <CAELBmZBGD4rph=gjLCPKCdEj+nzEQ-F=DExoL+h3vRm7qF7dCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-25 18:38       ` Zach Brown
2013-09-25 19:02         ` Anna Schumaker
     [not found]           ` <CAFX2JfnyF8kyMYzCdqdr2JkoyQCom1bFLpFj89wODjoju54-Ow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-25 19:06             ` Zach Brown
     [not found]               ` <20130925190620.GB30372-fypN+1c5dIyjpB87vu3CluTW4wlIGRCZ@public.gmane.org>
2013-09-25 19:55                 ` J. Bruce Fields
2013-09-25 21:07                   ` Zach Brown
2013-09-26  8:58                     ` Miklos Szeredi
2013-09-26 15:34                       ` J. Bruce Fields
     [not found]                         ` <20130926153359.GE704-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-09-26 16:46                           ` Ric Wheeler
2013-09-26 18:06                         ` Miklos Szeredi
2013-09-26 19:06                           ` Zach Brown
2013-09-26 19:53                             ` Miklos Szeredi
     [not found]                               ` <CAJfpegvvWhs+jv2J9kOQrB31PEO3kyn_sLm_e2w9YKp=y6EDhA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-26 21:23                                 ` Ric Wheeler
     [not found]                                   ` <5244A5E7.90808-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-27  4:47                                     ` Miklos Szeredi
2013-09-27 14:00                                       ` Ric Wheeler
2013-09-27 14:39                                         ` Miklos Szeredi
     [not found]                           ` <CAJfpegsUchb0eX+Hi3rN5Ypje3Y-dgo=pxgM1Y3BQbHVp=1hSw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-06  8:42                             ` Rob Landley
2013-09-26 18:55                       ` Zach Brown
     [not found]                         ` <20130926185508.GO30372-fypN+1c5dIyjpB87vu3CluTW4wlIGRCZ@public.gmane.org>
2013-09-26 21:26                           ` Ric Wheeler
     [not found]                             ` <5244A68F.906-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-27 20:05                               ` J. Bruce Fields
2013-09-27 20:50                                 ` Zach Brown
2013-09-28  5:49                                   ` Miklos Szeredi
2013-09-28 15:20                                     ` Myklebust, Trond
2013-09-28 21:20                                       ` Ric Wheeler
     [not found]                                         ` <52474839.2080201-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-30 12:20                                           ` Miklos Szeredi
2013-09-30 14:34                                             ` J. Bruce Fields
2013-09-30 14:48                                               ` Ric Wheeler
2013-09-30 14:51                                               ` Miklos Szeredi
     [not found]                                                 ` <CAJfpeguMCzv-UhrXrG7e9Q7F_0aEe3_ZMumFwLu3hxcewA_7gA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-30 14:52                                                   ` Ric Wheeler
2013-09-30 15:24                                                     ` Miklos Szeredi
2013-09-30 14:28                                                       ` Ric Wheeler
     [not found]                                                         ` <CAJfpegv_C6cLOuA-mNtgtf2QbmmmcHwjQVo8mA nhf_wbJ8iRhg@mail.gmail.com>
     [not found]                                                           ` <CAJfpegv_C6cLOuA-mNtgtf2QbmmmcHwjQVo8mAnhf_wbJ8iRhg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-30 14:41                                                             ` Ric Wheeler
     [not found]                                                               ` <52498DB6.7060901-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-30 15:46                                                                 ` Miklos Szeredi
2013-09-30 14:49                                                                   ` Ric Wheeler
     [not found]                                                                     ` <52498F68.8050200-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-30 15:57                                                                       ` Miklos Szeredi
     [not found]                                                                         ` <CAJfpegvvN_5c5oMv8UoODXQHc-DQnijhOtPDXmNamVpQLDoWMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-30 16:31                                                                           ` Miklos Szeredi
2013-09-30 17:17                                                                             ` Bernd Schubert
     [not found]                                                                               ` <5249B21E.70603-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2013-09-30 17:44                                                                                 ` Myklebust, Trond
     [not found]                                                                                   ` <1380563050.6501.15.camel-5lNtUQgoD8Pfa3cDbr2K10B+6BGkLq7r@public.gmane.org>
2013-09-30 17:48                                                                                     ` Bernd Schubert
     [not found]                                                                                       ` <5249B987.8020807-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2013-09-30 18:02                                                                                         ` Myklebust, Trond
2013-09-30 18:49                                                                                           ` Bernd Schubert
2013-09-30 19:34                                                                                             ` Myklebust, Trond
2013-09-30 20:00                                                                                               ` Bernd Schubert
2013-09-30 20:08                                                                                                 ` Ric Wheeler
     [not found]                                                                                                   ` <5249DA50.5060105-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-30 20:27                                                                                                     ` Myklebust, Trond
     [not found]                                                                                                 ` <5249D86A.7080603-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2013-09-30 20:10                                                                                                   ` Myklebust, Trond
     [not found]                                                                   ` <CAJfpegsvrr7x3MbdpvxUmzq0ZfDHfZkzAar6Od2G7wg8DgPLYQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-01 18:42                                                                     ` J. Bruce Fields
2013-09-30 15:33                                                         ` Myklebust, Trond
     [not found]                                                         ` <52498AA8.2090204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-09-30 15:38                                                           ` Miklos Szeredi
     [not found]                                                       ` <CAJfpegtpXuh9070ALGy16Y8kdgioBqSf4JQqBBCF4FHvFJWAWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-01 19:58                                                         ` Zach Brown
     [not found]                                                           ` <20131001195817.GE10831-fypN+1c5dIyjpB87vu3CluTW4wlIGRCZ@public.gmane.org>
2013-10-02 12:58                                                             ` Jan Kara
2013-10-02 13:31                                                               ` David Lang
2013-12-18 12:41   ` Christoph Hellwig [this message]
2013-12-18 17:10     ` Zach Brown
2013-12-18 17:26       ` Anna Schumaker
  -- strict thread matches above, loose matches on Subject: below --
2013-09-26 17:22 Steve French
     [not found] ` <CAH2r5muBuTK7ZZ+aKGC4q35gqaSWF4o07eoHypLKiNn5Y83RbQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-26 19:34   ` David Disseldorp
2013-10-10  2:18     ` Steve French
2013-10-01 21:05   ` J. Bruce Fields
     [not found]     ` <20131001210531.GA7093-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-10-02  1:19       ` Steve French

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=20131218124126.GA15328@infradead.org \
    --to=hch-wegcikhe2lqwvfeawa7xhq@public.gmane.org \
    --cc=Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org \
    --cc=axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org \
    --cc=bjschuma-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org \
    --cc=jlbec-aKy9MeLSZ9dg9hUCZPvPmw@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mfasheh-IBi9RG/b67k@public.gmane.org \
    --cc=mkp-30zCAauEzIw@public.gmane.org \
    --cc=normalperson-rMlxZR9MS24@public.gmane.org \
    --cc=zab-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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;
as well as URLs for NNTP newsgroup(s).