On Mon, May 01, 2017 at 06:19:44PM -0700, Linus Torvalds wrote: > On Mon, May 1, 2017 at 2:59 AM, Ingo Molnar <mi...@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