All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: josh@joshtriplett.org
Cc: Pieter Smith <pieter@boesman.nl>, Arnd Bergmann <arnd@arndb.de>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 51/56] drivers/char/mem: support compiling out splice
Date: Thu, 13 Nov 2014 19:27:22 -0800	[thread overview]
Message-ID: <20141114032722.GA31174@kroah.com> (raw)
In-Reply-To: <20141114001948.GA30946@cloud>

On Thu, Nov 13, 2014 at 04:19:48PM -0800, josh@joshtriplett.org wrote:
> On Thu, Nov 13, 2014 at 03:34:16PM -0800, Greg Kroah-Hartman wrote:
> > On Thu, Nov 13, 2014 at 02:31:50PM -0800, josh@joshtriplett.org wrote:
> > > [Please don't top-post.]
> > > 
> > > On Thu, Nov 13, 2014 at 11:23:46PM +0100, Pieter Smith wrote:
> > > > Okay with moving the relevant functions to a new translation unit and
> > > > squashing it out in the Makefile
> > > 
> > > No, you don't need to do that either.  Mark pipe_to_null and
> > > splice_write_null as __maybe_unused, then wrap the initialization of
> > > .splice_write = splice_write_null to make it .splice_write =
> > > splice_p(splice_write_null).  That will avoid adding a single ifdef.
> > 
> > Again, ick, no.  You aren't saving anything "real" at all, just take out
> > the splice core code, leave the file pointer alone, and never do that
> > horrid "splice_p" stuff, ick ick ick.
> 
> Without doing the splice_p change (which should add zero lines of code,
> total diffstat of -3+3 in this case, just a couple of __maybe_unused
> tokens and a splice_p() in the initializer), the actual splice
> implementations for filesystems and drivers won't get thrown away.  I
> certainly agree that #ifdefs for those would be painful and not worth
> it.  However, what problem would the proposed __maybe_unused / splice_p
> cause?

I don't see what it buys you except churn and a constant need to keep
fixing up code that doesn't use it as new drivers get added.

It's also "not normal" when compared to all of the other function
pointers in the filesystem structure, what makes splice "special" here
that everyone now needs to know it should be treated differently?

> On the other hand, I can *definitely* understand not bothering with
> changing filesystems that nobody will use on a space-constrained system
> (e.g.  cluster filesystems); the patch series could likely be narrowed
> to just a half-dozen likely filesystems and drivers, all of which could
> be done separately from the initial series removing the core splice
> code.  Would that be more appealing?

As long as you aren't forcing every call-place to change, like this
patch series did, it would be better.

Also, no one ever posted how much space savings overall there was here,
so until that happens, I'm going to assume it isn't even worth the
effort, right?

thanks,

greg k-h

  reply	other threads:[~2014-11-14  3:28 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <pieter@boesman.nl>
     [not found] ` <1415913813-362-1-git-send-email-pieter@boesman.nl>
2014-11-13 21:22   ` [PATCH 01/56] moved sendfile syscall to splice translation unit Pieter Smith
2014-11-13 21:22   ` [PATCH 02/56] moved kernel_write out of " Pieter Smith
     [not found]   ` <1415913813-362-1-git-send-email-pieter-qeJ+1H9vRZbz+pZb47iToQ@public.gmane.org>
2014-11-13 21:22     ` [PATCH 03/56] fs: Support compiling out splice-family syscalls Pieter Smith
2014-11-13 21:22       ` Pieter Smith
2014-11-13 21:22       ` Pieter Smith
2014-11-13 21:22   ` [PATCH 04/56] fs: Macros to define splice file_operations Pieter Smith
2014-11-13 21:49     ` Richard Weinberger
2014-11-13 22:24       ` josh
2014-11-13 21:51     ` Al Viro
2014-11-13 21:22   ` [PATCH 05/56] fs/lustre: support compiling out splice Pieter Smith
2014-11-13 22:09     ` Greg Kroah-Hartman
2014-11-13 21:22   ` [PATCH 06/56] fs/adfs: " Pieter Smith
2014-11-13 21:22   ` [PATCH 07/56] fs/affs: " Pieter Smith
2014-11-13 21:22   ` [PATCH 08/56] fs/afs: " Pieter Smith
2014-11-13 21:22   ` [PATCH 09/56] fs/bad_inode: " Pieter Smith
2014-11-13 21:22   ` [PATCH 10/56] fs/block_dev: " Pieter Smith
2014-11-13 21:22   ` [PATCH 11/56] fs/bfs: " Pieter Smith
2014-11-13 21:22   ` [PATCH 12/56] fs/btrfs: " Pieter Smith
2014-11-13 21:22   ` [PATCH 13/56] fs/ceph: " Pieter Smith
2014-11-13 21:22     ` Pieter Smith
2014-11-13 21:22   ` [PATCH 14/56] fs/cifs: " Pieter Smith
2014-11-13 21:22   ` [PATCH 15/56] fs/coda: " Pieter Smith
2014-11-13 21:22   ` [PATCH 16/56] fs/encryptfs: " Pieter Smith
2014-11-13 21:22     ` Pieter Smith
2014-11-13 21:22   ` [PATCH 17/56] fs/exofs: " Pieter Smith
2014-11-16  9:02     ` [osd-dev] " Boaz Harrosh
2014-11-13 21:22   ` [PATCH 18/56] fs/ext2: " Pieter Smith
2014-11-13 21:22   ` [PATCH 19/56] fs/ext3: " Pieter Smith
2014-11-13 21:22   ` [PATCH 20/56] fs/ext4: " Pieter Smith
2014-11-14  0:28     ` josh
2014-11-13 21:22   ` [PATCH 21/56] fs/f2fs: " Pieter Smith
2014-11-13 21:22     ` Pieter Smith
2014-11-13 21:22   ` [PATCH 22/56] fs/fat: " Pieter Smith
2014-11-13 21:23   ` [PATCH 23/56] fs/fuse: " Pieter Smith
2014-11-13 21:23   ` [Cluster-devel] [PATCH 24/56] fs/gfs2: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 25/56] fs/hfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 26/56] fs/hfsplus: " Pieter Smith
2014-11-13 21:23   ` [PATCH 27/56] fs/hostfs: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 28/56] fs/hpfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 29/56] fs/jffs2: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 30/56] fs/jfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 31/56] fs/minix: " Pieter Smith
2014-11-13 21:23   ` [PATCH 32/56] fs/nfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 33/56] fs/nfsd: " Pieter Smith
2014-11-13 21:23   ` [PATCH 34/56] fs/nilfs2: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 35/56] fs/ntfs: " Pieter Smith
2014-11-13 21:23   ` [Ocfs2-devel] [PATCH 36/56] fs/ocfs2: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 37/56] fs/omfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 38/56] fs/ramfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 39/56] fs/reiserfs: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 40/56] fs/romfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 41/56] fs/sysv: " Pieter Smith
2014-11-13 21:23   ` [PATCH 42/56] fs/ubifs: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 43/56] fs/udf: " Pieter Smith
2014-11-13 21:23   ` [PATCH 44/56] fs/ufs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 45/56] fs/xfs: " Pieter Smith
2014-11-13 21:23   ` [PATCH 46/56] kernel/relay: " Pieter Smith
2014-11-13 21:23   ` [PATCH 47/56] kenel/trace: " Pieter Smith
2014-11-17 20:33     ` Steven Rostedt
2014-11-13 21:23   ` [PATCH 48/56] mm/shmem: " Pieter Smith
2014-11-13 21:23     ` Pieter Smith
2014-11-13 21:23   ` [PATCH 49/56] net/socket: " Pieter Smith
2014-11-13 21:23   ` [PATCH 50/56] fs/read_write: " Pieter Smith
2014-11-13 21:23   ` [PATCH 51/56] drivers/char/mem: " Pieter Smith
2014-11-13 22:09     ` Greg Kroah-Hartman
     [not found]       ` <CAPho-_JJGy0cwBVfWKL1Gt9ZQZM+Odo7W05bKQ2JLO+TM-ABJA@mail.gmail.com>
2014-11-13 22:31         ` josh
2014-11-13 23:34           ` Greg Kroah-Hartman
2014-11-14  0:19             ` josh
2014-11-14  3:27               ` Greg Kroah-Hartman [this message]
     [not found]                 ` <CAPho-_KUc-+c=X6xtLTD2F-o4qi+YpYdnw6F1cx4kniezfs7aw@mail.gmail.com>
2014-11-14 23:25                   ` josh
     [not found]                   ` <CAPho-_LCj7bxJ2EvuZtBZXD1buH1V+nKEiobTJUATYmGYVRWcA@mail.gmail.com>
2014-11-16 18:20                     ` Josh Triplett
     [not found]                   ` <CAPho-_+ZXHYGB9-d19NR9u5tcOpN1Ytg80NZgvScF=YQ-6SdNA@mail.gmail.com>
2014-11-18 22:42                     ` josh
2014-11-13 21:23   ` [PATCH 52/56] drivers/char/virtio: " Pieter Smith
2014-11-13 21:23   ` Pieter Smith
2014-11-13 22:09     ` Greg Kroah-Hartman
2014-11-13 22:09       ` Greg Kroah-Hartman
2014-11-13 21:23   ` [PATCH 53/56] net/ipv6: " Pieter Smith
2014-11-13 21:23   ` [PATCH 54/56] net/ipv4: " Pieter Smith
2014-11-13 21:23   ` [PATCH 55/56] net/core: " Pieter Smith
2014-11-13 21:23   ` [PATCH 56/56] fs/splice: full support for " Pieter Smith

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=20141114032722.GA31174@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=arnd@arndb.de \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pieter@boesman.nl \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.