Matthew Dillon has posted his 5th VFS patch; included is some backstory on just how the old and new APIs work.
Update: and it begins. This is going to be unique to DragonFly, probably.
Heh. It looks like a lot of the really cool things in DragonFly are going to remain unique to it, if for no other reason than the fact that everybody else seems entrenched in other ways of doing things.
Take the various threading systems in the BSD world for example. People have put alot of work into “Sheduler Activtions” and it would take as much work to remove that in favor of LWKTs, and I for one don’t see that happening.
There seems a slim chance that OpenBSD might adopt LWKTs, but it seems more likely to me that they’d go with whatever comes out of NetBSD as it would offer the greatest return on invested time and effort for them.
I think that the only way the majority of the really cool stuff is going to end up in other systems is when people start forking DragonFly at some point in the distant future.
For userland threads, LWKT-based messages and Scheduler Actications are not that much different.
The most difficult part of both is allowing the userland to continue after issueing a system call (async processing). The second most difficult part is acknowleding the userland of completed async system calls. Another important point, which can and most likely will be delayed is the post of a message for blocking pageouts.
DragonFly BSD Digest