bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[JOB] C-Threads -> P-Threads transition (Phase 1: Wrapper)


From: Farid Hajji
Subject: [JOB] C-Threads -> P-Threads transition (Phase 1: Wrapper)
Date: Tue, 24 Jul 2001 21:16:36 +0200

An interesting, but feasible job would be to write a Pthreads wrapper
that would simply call C-Thread/Mach-Threads functions. This wrapper
could be used for:

1. porting applications written against the Pthreads API (as long as
   signal/fork issues are not concerned =: Keep it simple first),

2. providing a library that can be used to gradually port the Hurd's
   C-Thread dependent sources to Pthreads,

3. easing the transition of the Hurd to VK/{L4,Unix,...}. We can
   expect that new L4[Ka?] versions will support a large number of
   threads/task (as opposed to current X.0 versions), so writing a 1:1
   Pthreads library with L4 as backend won't be as difficult as it
   seemed right now.

Writing this kind of wrapper was already brought up before, but nobody
seems to be working on it right now. It is not difficult, don't be
concerned about efficiency at the beginning. We need just a small
subset of the Pthreads-API in the Hurd. Don't bother to fully
implementing a Pthreads-Library, only the wrapper to the C-Threads.

This wrapper would be essentially throw-away code in the
VK/{L4,Unix...} case.  It is only needed for:

a. the transition phase where all calls to C-threads in the Hurd are
   replaced by Pthreads calls.

b. as glue code to C-Threads if Mach is used for the kernel threads
   and only as long as Mach lacks a native Pthreads library itself.
   [If you're very good at Threading, you could change C-Threads
   directly so that they provide a Pthread API (subset). No
   performance penalty would result from this.]

[Phase 2: Test misc. Pthreaded applications against this wrapper,
then start changing the Hurd's sources from C-Threads to Pthreads
(-wrapper).]

All work can be done inside the Hurd. Writing the wrapper would
not break anything (yet... ;-)).

Volunteers?

-Farid.

-- 
Farid Hajji -- Unix Systems and Network Admin | Phone: +49-2131-67-555
Broicherdorfstr. 83, D-41564 Kaarst, Germany  | farid.hajji@ob.kamp.net
- - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - -
One OS To Rule Them All And In The Darkness Bind Them... --Bill Gates.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]