Re: Why Semaphore Hardware-Dependent?

David Howells
2006-08-29T18:31:24Z

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.
In addition a singly-linked list makes interruptible ops non-O(1) also.

David