Re: Bug#510624: ITP: pigz -- Parallel Implementation of GZip
Josselin Mouette wrote:
> Le lundi 05 janvier 2009 à 00:58 +0100, Samuel Thibault a écrit :
>> You mean Scheduler Activations? There's a patch against linux 2.4 ;)
>> We're definitely diving into OS research :)
> Well it would be nice if things that was research at the time of Linux
> 2.4 could have turned into usable code now :)
Hum... Scheduler Activations for 2.4 did not handle the case described here.
User application were notified when one of their (user) thread did a blocking
system call (so that the application can run another user thread on the
available core/kernel thread). But notifying the application for each kernel
preemption decision was too costly and not implemented on Linux.
Similar behavior have been proposed for 2.6 kernel (I remember LWN articles
about asynchronous system call such as http://lwn.net/Articles/223899/)
I'm confident that Scheduler Activations can be build upon such a proposition.
About integration in upstream, it is very difficult to tell upstream that
user threads are interesting (even if it is the case in HPC). And the current
design of ntpl on x86 is a shame: allowing a direct access to TLS through the
segment register makes very difficult to write a user-(or mixed-)level thread
library for Linux, keeping the same ABI (and libc). See #328183 for more info
on that. So, maintaining such patches (kernel, glibc, ntpl, ...) would need
really lot of time.
Vincent Danjean GPG key ID 0x9D025E87 email@example.com
GPG key fingerprint: FC95 08A6 854D DB48 4B9A 8A94 0BF7 7867 9D02 5E87
Unofficial pacakges: http://www-id.imag.fr/~danjean/deb.html#package
APT repo: deb http://perso.debian.org/~vdanjean/debian unstable main