January 19, 2016
I attended this year’s Google Summer of Code mentors summit at Google’s Tech Corners campus November 5th-8th along with David Chisnall. This event offers an excellent opportunity to meet with people from open source projects that don’t overlap with the usual set of FreeBSD conferences. The intimate scale and un-conference format of the event (1-2 attendees from from each GSoC project) makes it much more practical to make connections than at a larger event like FOSDEM or SCALE.
At many past mentor summits I’ve talked extensively with the Joel and Chris from the RTEMS projects. They have long used a FreeBSD 4.x derived network stack and this year had news of a long overdue upgrade. They have tools to automatically patch and import a FreeBSD 9.x based stack to provide more modern protocol and NIC support (they have also imported our USB stack). This means that eventually our network stack will fly in space! Interestingly, they have many of the same issues that people building FreeBSD-based userspace network stacks encounter, in particular our non-standard malloc() and free() signatures. They hope to produce a set of diffs for us to examine so we can determine which changes can be merged into FreeBSD to make their use easier. There are several paths we could take, but making it easier to use our kernel code in other environments is something we should pursue.
In addition to discussing how we could make FreeBSD easier for RTEMS to consume, David and I discussed ways RTEMS could pick up the CHERI technologies we’ve been developing with CheriBSD. Practical, fine grained memory safety would be of enormous value in a single-address-space system like RTEMS and could help us get FreeBSD’s kernel ready for CHERI or Intel’s MPX.
Another useful conversation was a lunchtime discussion with a couple github.com developers about how it scales to codebases the size of FreeBSD. They took a number of TODO items related to the overhead of forking the FreeBSD repository and issues with things like the contributors graph of project with a quarter million commits.
Over the course of the meeting I had many other interesting conversations. As usual it was a great meeting and I’m grateful for Google and The FreeBSD Foundation’s support which made this trip possible.