[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Migration threads
From: |
olafBuddenhagen |
Subject: |
Re: Migration threads |
Date: |
Wed, 29 Dec 2010 02:14:39 +0100 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
Hi,
On Sun, Dec 26, 2010 at 10:27:30AM +0100, Richard Braun wrote:
> >From what I understand of the Hurd history, GNU Mach is based on Mach 4.
> I read that this version was intended to include the result of research
> work made at the university of Utah, the most important being thread
> migration (for those not familiar with the concept, it means that
> threads running in client tasks "migrate" into server tasks when
> performing sync RPC). There is actually code about that in GNU Mach,
> but I'm wondering if it's actually used in the Hurd. I couldn't find
> anything related to this in the userspace servers, but the interface
> change could be light, and I might have missed them. Does anyone know if
> the Hurd servers actually use thread migration ?
While I don't *know*, I have looked at most of the client- and
server-side marshalling, multiplexing, and thread management code; and
I'm pretty confident there is nothing about thread migration there...
But then, I haven't really checked how thread migration works exactly --
so I might be missing something :-)
Some of the RPC management code in Hurd is pretty complex. (Evidently
the Hurd's use of Mach IPC is different from what the Mach inventors
envisioned -- which is part of the reason why I believe that to get
forward, we have to abandon Mach compatibility.) Corner cases like RPC
cancellation, server death etc. will need some serious consideration I
guess.
Fredrik looked into the RPC cancellation and related stuff quite a bit
recently, so I guess he might have a better idea about this...
-antrik-