3 ms·
I vaguely recall this as well, do you remember what was better about his approach?
by org3432 8y ago
I vaguely recall this as well, do you remember what was better about his approach?
- loeg 8y agoHah, I wasn't around at that time. I believe FreeBSD 5 went ahead and did the same thing most other BSDs and Linux did initially, which was the so-called "Giant" lock scheme, where only one CPU could be in the kernel at a time. The plan being to gradually break things into smaller locks. That's more or less worked (for FreeBSD and maybe NetBSD — OpenBSD still has notoriously poor kernel concurrency in 2018), but didn't yield high concurrency up front, and there are still vestigial uses of Giant in FreeBSD. I think Dillon had some sort of lock token thing? It looks like they're described here, under "LWKT Serializing Tokens:" https://www.dragonflybsd.org/docs/developer/Locking_and_Synchronization/ https://www.dragonflybsd.org/docs/developer/Locking_and_Sync... . Looks somewhat easier to integrate but also some tradeoffs — proper restart when all your lock tokens get dropped seems like it might be fiddly.
- bch 8y agoThis touches on it a bit... https://web.archive.org/web/20170621023517/http://www.onlamp.com/pub/a/bsd/2004/07/08/dragonfly_bsd_interview.html https://web.archive.org/web/20170621023517/http://www.onlamp...