Re: Why Semaphore Hardware-Dependent?

From: Andi Kleen
Date: Tue Aug 29 2006 - 14:30:56 EST


On Tuesday 29 August 2006 20:30, David Howells wrote:
> Andi Kleen <ak@xxxxxxx> wrote:
>
> > BTW maybe it would be a good idea to switch the wait list to a hlist,
> > then the last user in the queue wouldn't need to
> > touch the cache line of the head. Or maybe even a single linked
> > list then some more cache bounces might be avoidable.
>
> You need a list_head to get O(1) push at one end and O(1) pop at the other.

The poper should know its node address already because it's on its own stack.

> In addition a singly-linked list makes interruptible ops non-O(1) also.

When they are interrupted I guess? Hardly a problem to make that slower.

-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/