Re: [PATCH 2/2] fs/dcache: Make negative dentries easier to be reclaimed

From: Andrew Morton
Date: Tue Aug 28 2018 - 19:22:13 EST

On Tue, 28 Aug 2018 16:10:24 -0700 Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Tue, Aug 28, 2018 at 3:29 PM Waiman Long <longman@xxxxxxxxxx> wrote:
> >
> > Yes, I can rewrite it. What is the problem with the abbreviated form?
> Either gcc rewrites it for you, or you end up _actually_ using a
> function pointer and calling through it.
> The latter would be absolutely horribly bad for something like
> "list_add()", which should expand to just a couple of instructions.
> And the former would be ok, except for the "you wrote code the garbage
> way, and then depended on the compiler fixing it up". Which we
> generally try to avoid in the kernel.
> (Don't get me wrong - we definitely depend on the compiler doing a
> good job at CSE and dead code elimination etc, but generally we try to
> avoid the whole "compiler has to rewrite code to be good" model).

And the "abbreviated form" will surely explode if one or both of those
"functions" happens to be implemented (or later reimplemented) as a macro.
It's best not to unnecessarily make such assumptions.