* Ingo Molnar <[email protected]> wrote:
> Firstly, i dont think you are fully applying the syslet/threadlet
> model. There is no reason why an 'idle' client would have to use up a
> full thread! It all depends on how you use syslets/threadlets, and how
> (frequently) you queue back requests from cachemiss threads back to
> the primary thread. It is only the simplest queueing model where there
> is one thread per request that is currently blocked.
> Syslets/threadlets do /not/ force request processing to be performed
> in the async context forever - the async thread could very much queue
> it back to the primary context. (That's in essence what Tux did.) So
> the same state-machine techniques can be applied on both the syslet
> and the threadlet model, but in much more natural (and thus lower
> overhead) points: /between/ system calls and not in the middle of
> them. There are a number of measures that can be used to keep the
> number of parallel threads down.
i think the best model here is to use kevents or epoll to discover
accept()-able or recv()-able keepalive sockets, and to do the main
request loop via syslets/threadlets, with a 'queue back to the main
context if we went async and if the request is done' feedback mechanism
that keeps the size of the pool down.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]