DragonFly BSD
DragonFly kernel List (threaded) for 2003-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Call for Developers! Userland threading

From: Peter da Silva <peter-dragonfly@xxxxxxxxxxx>
Date: Tue, 22 Jul 2003 20:41:03 -0500

I'm still thinking in terms of a staged implementation.

Matthew Dillon wrote:
    This pretty much requires that the userland system be capable of
    doing the preemption approach.

I think the way to do that is to have a mechanism to trigger a software interrupt when a message arrives on a port. In pure user threads, of course, that would happen synchronously. it could also be implemented synchronously to start with (that is, the interrupt occurs when Send() or Wait() is called), which would be analogous to the way the "synchronous" systems calls work.

This would seems to be a very generalisable mechanism, and keep
things just as concurrent as the application needs.

I'm not saying "let's not implement full LWKT functionality",
I'm saying "let's not *use* full LWKT functionality until
everything is stable, and let's keep the purely synchronous
model available after that". Asynchronous events make things
harder to deal with, and being able to eliminate them from a
program that's making use of signals for *signalling* but not *concurrency* would improve application stability.

It would also make it easier to model and build testbeds.

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