Re: threadlets as 'naive pool of threads', epoll, some measurements

Evgeniy Polyakov
2007-02-27T08:23:33Z

On Mon, Feb 26, 2007 at 09:23:38PM +0100, Ingo Molnar (mingo@elte.hu) wrote:
>
> * Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
>
> > > no. Please read the evserver_threadlet.c code. There's no kevent in
> > > there. There's no epoll() in there. All that you can see there is
> > > the natural behavior of pure threadlets. And it's not a workload /I/
> > > picked for threadlets - it is a workload, filesize, parallelism
> > > level and request handling function /you/ picked for
> > > "event-servers".
> >
> > I know that there is no kevents there, that would be really strange if
> > you would test it in your environment after all that empty kevent
> > releases.
>
> i havent got around figuring out the last v2.6.20 based kevent release,
> and your git tree is v2.6.21-rc1 based. Do you have some easy URL for me
> to fetch the last v2.6.20 kevent release?

I use kevent-36 release patches on top of 2.6.20 tree.
There are some syscall numbers overlap with thrteadlet patches, but
rejectsa re trivial.

> > Enough, you say micro-thread design is superior - ok, that is your
> > point.
>
> note that threadlets are not 'micro-threads'. A threadlet is more of an
> 'optional thread' (as i mentioned it earlier): whenever it does anything
> that makes it distinct from a plain function call, it's converted into a
> separate thread by the kernel. Otherwise it behaves like a plain
> function call and returns.

I know.
But it is rare case for the most situations, when things do not block,
so I called it micro-thread, since it spawns a new thread (get from
preallocated pool) for parallel processing.

> Ingo

--
Evgeniy Polyakov