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