Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Evgeniy Polyakov <johnpol@xxxxxxxxxxx>
- Date: Fri, 23 Feb 2007 15:22:25 +0300
On Fri, Feb 23, 2007 at 12:51:52PM +0100, Ingo Molnar (mingo@xxxxxxx) wrote:
[...] Those 20k blocked requests were created in about 20 seconds, so
roughly saying we have 1k of thread creation/freeing per second - do
we want this?
i'm not sure why you mention thread creation and freeing. The
syslet/threadlet code reuses already created async threads, and that is
visible all around in both the kernel-space and in the user-space
syslet/threadlet code.
While Linux creates+destroys threads pretty damn fast (in about 10-15
usecs - which is roughly the cost of getting a single 1-byte packet
through a TCP socket from one process to another, on localhost), still
we dont want to create and destroy a thread per request.
I meant that we end up with having one thread per IO - they were
preallocated, but that does not matter. And what about your idea of
switching userspace threads to cachemiss threads?
My main concern was only about the situation, when we ends up with truly
bloking context (like network), and this results in having thousands of
threads doing the work - even having most of them sleeping, there is a
problem with memory overhead and context switching, although it is usable
situation, but when all of them are ready immediately - context switching
will kill a machine even with O(1) scheduler which made situation damn
better than before, but it is not a cure for the problem.
Ingo
--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ingo Molnar
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Evgeniy Polyakov
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- References:
- [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ingo Molnar
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Michael K. Edwards
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ingo Molnar
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ulrich Drepper
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ingo Molnar
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Evgeniy Polyakov
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ingo Molnar
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Evgeniy Polyakov
- Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- From: Ingo Molnar
- [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Prev by Date: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Next by Date: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Previous by thread: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Next by thread: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
- Index(es):