Re: Why Semaphore Hardware-Dependent?

Andi Kleen
2006-08-29T18:33:36Z

On Tuesday 29 August 2006 20:30, David Howells wrote:
> Andi Kleen <ak@suse.de> 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