Hi Justin, > Indeed there is no requirement for preemptive threading. There is a > userlevel scheduling implementation already, using swapcontext, which > is upstream in NetBSD as an option, see > > https://github.com/rumpkernel/wiki/wiki/Platforms%3A-Userspace-fibers > > It is more-or-less the same version as Xen and baremetal use; at some > point it will be exactly the same. > > There are various reasons it is not the default implementation > 1. The swapcontext calls are not in Posix, I am working assember replacement > 2. As Antti said in this thread, it is generally the case that you > want to use the same threading model as you are using for userspace > threads, so having multiple implementations is useful. > 3. pthreads does provide real concurrency > 4. Some of the other supporting code (tests, some example block > drivers etc) does assume concurrency. > > But the determinism is certainly useful, as are other properties, so > both will be maintained.
thank you for the clarification. The fibers seem to be exactly what I was after. I'll discuss them with Josef and Sebastian. Cheers Norman ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ rumpkernel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
