lkml.org 
[lkml]   [1999]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Linux Driver - Select Implementation!
Jeff Epler <jepler@inetnebr.com> wrote:
>
> What would the consequences be of a select-like call which had the semantic
> that only one of the tasks sleeping for that resource was woken (the
> longest-sleeping, perhaps)? (And, probably, all tasks sleeping because
> of regular select()) To my naive mind it sounds like a way to avoid
> the thundering herd problem. Are there unforseen pitfalls in this, or is
> it more a matter of doing something nonstandard, or of the change requiring
> widespread kernel changes?

This thundering herd problem can be solved in userland, if I am not mistaken.
From what I've read, Apache solves this problem by having a single task do the
select(), and setting an appropriate semaphore on return. The rest of the
tasks which would normally do a select() instead wait on this semaphore -- when
the semaphore is available, a single task is unblocked from waiting on it.

Charles
--
----------------------------------------------------
Charles Cazabon <charlesc-linux@qcc.sk.ca>
Any opinions expressed are just that -- my opinions.
----------------------------------------------------

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

\
 
 \ /
  Last update: 2005-03-22 13:50    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site