Re: spinlocks -- why are releases inlined and acquires are not?

From: Andi Kleen
Date: Tue Apr 01 2008 - 09:27:21 EST


On Tue, Apr 01, 2008 at 02:40:49PM +0200, Jiri Kosina wrote:
> On Tue, 1 Apr 2008, Andi Kleen wrote:
>
> > At some point -- but that was before queued locks -- I noticed that for
> > i386 spin unlocks the call sequence for the sub function is actually
> > larger in code than the actual spin unlock operation and for x86-64 it
> > was about the same.
>
> spin unlocks seem to be properly inlined anyway, so that should be fine.
> My concern here is the non-inlining of spin locks, for which I don't think
> your argument above is also valid, right?

When I did the original numbers (again before queued locks) the
call was slightly shorter than the actual spin lock operation.

This was not counting register allocator effects though which
are difficult to measure generally.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/