All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [GIT PULL] RCU changes for v4.12
Date: Mon, 1 May 2017 21:02:02 -0700	[thread overview]
Message-ID: <20170502040202.GR3956@linux.vnet.ibm.com> (raw)
In-Reply-To: <CA+55aFyhPo7xtCRkhECo7KZc6Xj=Ogb8CNDzamYcureu9NFGTQ@mail.gmail.com>

On Mon, May 01, 2017 at 06:19:44PM -0700, Linus Torvalds wrote:
> On Mon, May 1, 2017 at 2:59 AM, Ingo Molnar <mingo@kernel.org> wrote:
> > Linus,
> >
> > Please pull the latest core-rcu-for-linus git tree from:
> >
> >    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus
> 
> I pulled this, and then after looking at it, ended up un-pulling it again.
> 
> I refuse to take that nasty <linux/rcu_segcblist.h> header file from hell.
> 
> I see absolutely no point in taking a header file of several hundred
> lines of code.
> 
> We have traditionally done too much inline code anyway, but we've
> learnt our lesson - and even back when we did too much of it, we
> didn't put random code that nobody uses and by definition cannot be
> performance-critical in big inline functions in header files.
> 
> If it was some one-liner helper function, that would be one thing. But
> there are functions that don't even fit on the screen, and that have
> multiple loops and memory barriers in them.
> 
> The one function I decided to grep for was used EXACTLY NOWHERE. Yet
> it was apparently SO INCREDIBLY important that it needed to be inlined
> in a huge header file despite being huge and complicated.
> 
> So no. This is too ugly to live, and certainly too ugly to be pulled.
> 
> The RCU code needs to start showing some good taste.
> 
> There are valid reasons to inline even large functions, if they have
> constant arguments that make us expect them to generate a single
> instruction of code in the end. But that was very much not the case
> here.
> 
> Not pulling. Try again next merge window when the code has been
> cleaned up and isn't too ugly to live.

Please accept my apologies!

I was patterning this code too much after the various *list*.h header
files, and failed to notice that the functions were getting large.
I will get rid of the unused rcu_segcblist_extract_all() function
and create a kernel/rcu/segcblist.c for the functions that are either
non-trivial or performance-insensitive.

Does that cover it, or am I missing something?

							Thanx, Paul

  reply	other threads:[~2017-05-02  4:02 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-01  9:59 [GIT PULL] RCU changes for v4.12 Ingo Molnar
2017-05-02  1:19 ` Linus Torvalds
2017-05-02  4:02   ` Paul E. McKenney [this message]
2017-05-02  4:11     ` Linus Torvalds
2017-05-02  4:30       ` Paul E. McKenney
2017-05-02  7:59     ` Ingo Molnar
2017-05-02  8:31       ` [PATCH] srcu: Debloat the <linux/rcu_segcblist.h> header Ingo Molnar
2017-05-02 10:25         ` Paul E. McKenney
2017-05-02 12:56           ` Paul E. McKenney
2017-05-09  7:26 ` [RFC GIT PULL, v2] RCU changes for v4.12 Ingo Molnar
2017-05-10 17:27   ` Linus Torvalds
2017-05-10 19:54     ` Ingo Molnar
2017-05-10 20:01       ` Linus Torvalds
2017-05-11  6:54         ` Ingo Molnar
2017-05-10 19:54     ` Paul E. McKenney
2017-05-10 20:17       ` Linus Torvalds
2017-05-10 20:51         ` Paul E. McKenney
2017-05-10 21:08           ` Linus Torvalds
2017-05-10 22:53             ` Paul E. McKenney

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=20170502040202.GR3956@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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 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.