Re: [PATCH 3/3] brlocks/lglocks: turn into functions

From: Nick Piggin
Date: Fri Apr 20 2012 - 07:22:01 EST

This still not merged?

On Mon, Mar 05, 2012 at 05:35:28PM +1030, Rusty Russell wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> lglocks and brlocks are currently generated with some complicated macros
> in lglock.h. But there's no reason to not just use common utility
> functions and put all the data into a common data structure.

There is a reason, which is performance. Extra function call, but also
IIRC the percpu accessor was not so fast doing it this way. Maybe
that's improved...

So what's the performance difference?

> Since there are at least two users it makes sense to share this code in a
> library. This is also easier maintainable than a macro forest.
> This will also make it later possible to dynamically allocate lglocks and
> also use them in modules (this would both still need some additional, but
> now straightforward, code)

Yes, but let's not do either of those things :)

I was slightly crazy when committing that patch to the kernel, I'll
admit. So if performance isn't significantly affected, then definitely.
If it is... well, it's much easier to gain 1% performance by maintaining
100 self contained lines of hilarious code like this than to actually
use your brain to improve somewhere else!

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at