BSDCan 2023
In the Days before my fiancée and I explored Ottawa a bit, got stranded in a forest in Quebec and did our usual tour of coffee shops and book stores (got to make sure your bags are heavier on the way home somehow).
The evening before BSDCan and the Devsummits is traditionally a meeting of the Editorial Board of the FreeBSD Journal and accomplices to discuss what we want to cover in the next year. We had a brain storming session that picked up nearly 40 ideas for articles. From this we will figure out topics for the issues in the next year.
Devsummit Day 1
Typically in the days before a BSD conference the FreeBSD project holds a developer summit with some time aside for hacking . BSDCan is a big event for this and the Devsummit before was well attended.
Foundation update
The Devsummit normally starts with an update from the FreeBSD foundation on what is going on. This summits update included a lot of information about on going projects, new hires and direction the foundation is working in. After a pandemic gap in major updates there was a lot of new information from the foundation.
This year is the 30th anniversary of the start of the FreeBSD project and the foundation got us cake to celebrate!
Core update
Next up is normally an update from core letting us know what they are doing about it.
Guided code reading with Mark J.
For a new Devsummit thing Mark Johnson did a guided code reading session in the scheduler. This was an introduction to the files and functions of the ULE scheduler ifreebsd which has been a topic of discussion in recent years and more in the last two months.
I think as a new format this worked quite well, taking 40 minutes or so to walk around a sun system might be a good way to give devs kick start introductions when help is needed.
Story time with Mike Karels
Wrapping up the first Devsummit day we had a story time session with Mike Karels. Mike is one of the OG BSD people, it was great to hear his experiences working with and on BSD for the last 4 decades. This one was recorded and will be worth revisiting in the future.
Devsummit Day 2
I took the morning of the second day of the Devsummit to stare into my slides and wonder why I had signed up to talk again. For me this is normal fair in the lead up to a conference, but boy am I good at forgetting about all the lead in anxiety before presenting a talk.
15 planning
I made it to the Devsummit to join the have/need/want/axe session for FreeBSD 15. These sessions are where we try to figure out what we might have for an upcoming release and what we need to get devs to sign up to do.
In the last few years we've had more desire to kill off old subsystems and tools, making the code base both smaller and easier to maintain. 15 will continue this and there is a nice list of things to get rid of.
Group photo and off to the pub to help set up for registration
Post lunch we had a project group photo of everyone that made the Devsummit. I decided to duck out for the rest of the day and help Dan prepare stuff for registration for start of the conference. It helped that this prep was in a pub.
BSDCan Day 1
I took the morning of the first day to review my slides, drink coffee and try to avoid becoming agitated before my talk skipping the two sessions which happened in the slots before.
My talk - Making FreeBSD QUIC
I reprised my talk from EuroBSDCon, I had hoped to expand on it, but procrastination and time limitations got in the way. I’m working on a hacky GSO for FreeBSD, while it would have been great to present early results, they just weren't ready in time.
I think the talk went well, but as it was a second presentation that isn’t too surprising. If I present at a BSD conference again it’ll be something completely new and weirdly out of the box.
Mateusz - Dtrace vs eBPF
An update from EuroBSDCon 2022, Mateusz looked at the tracing overheads for eBPF and DTrace . There are a lot of claims out there about how things work and the impact performance tools have ranging from no overhead so the tool is safe to use all the way up to too much overhead so tools are never safe to use.
Mateusz normalised out differences between FreeBSD and Linux and explored the overheads of both sets of tools on each OS.
Kirk - gunion
Kirk came to give an overview of a new geom module call gunion:
“Turns out explains gunion takes about 10 minutes so I’ll give some background on geom too”
Kirk covered why we have geom and how it developed over time. He talked about the nop geom which has grown enough features to not be a no operation anymore. He wrapped up talking about gunion - a new geom writable layer that grabs writes to a paired geom allowing you to dry run potentially destructive operations. The use came for this is a quick fsck -y without the pitfall fall of potentially killing your disk.
Me again, with Benedict and Allan - BSDNow Live
Final session for day 1 a live performance of BSDNow. We went into this one with as much prep as we normally do and that just wasn't enough.
Our big announcement at the end is that Allan is going to retire from hosting the show with the live show being his final episode.
I got positive feedback after and I may be tempted to try this format again. The recording is the record of if this was a good use of everyone’s time.
In the future I'll ask to have the hour before the live show blocked out for set up and preparation and bring enough of a mic set up that we can be heard in the room, on the stream and have a good mix for the show. This 'speak into the goat' experience while very funny was not a great recording environment.
BSDCan Day 2
I started the second day with a detour to get good coffee from Little Victories and got caught in the start of the day of rain. The little victories chain (there are 2 in 2023) is my recommendation for the best coffee near the venue, I made the 10 minute detour twice on my way in to have “good” coffee.
Kristof - if_ovpn
The first session was Kristof talking about the design and implementation of
the
if_ovpn
kernel module. This modules allows crypto and packet processing to
be handled in the kernel avoiding a round trip to user space for every packet.
This works in a similar way to TLS offload where the meat is handled in the kernel, but the slower control traffic has to dealt with my a user space process.
It seemed to offer pretty good performance improvements over the user space side; almost 5x
Taylor Campbell - NetBSD disk encryption
It is always good to know what is going on in other parts of the BSD world and with two competing talks which I’d watch on YouTube I decided to see a NetBSD talk.
Taylor spoke about the design and usage of CGD disk device which offers encryption in NetBSD. He talked about some of the details and limitations of the current system. I’m glad that there are modern descriptions of NetBSD kernel internals happening at conferences. I do wish I’d managed to see one of the OpenBSD sessions but it didn't work out.
Corey Stephan - Using BSD in the liberal arts
Corey’s talk was a change of pace from the normal content at a BSD conference. Corey is a theologian teaching at a Texan university.
“Who has sufficient time to build a better computer workflow”
He spoke about the role open software and our communities can have in the study and teaching of liberal arts. Corey has had good experiences working with us BSD folk and is able to work well with packaged software. I’m hoping he’ll give an update in a few years and tell us if he managed to convert anyone else.
Lunch interview with the freebsd foundation
During lunch I did a short “how you got into bsd” interview with Drew from the foundation. I think it’s going into TikTok or something similar.
Wuyang Chung - single address space capability system
Another change of pace and a very academic style presentation.
Warner Losh - kboot: Booting FreeBSD with LinuxBoot
LinuxBoot offers a mechanism for a Linux kernel to boot another kernel, this can have a huge advantage if you need to reboot something that takes a long time to move through firmware initialisation. With LinuxBoot you kexec the new image and can do a warm restart.
Warner did work to enable FreeBSD to be booted with kexec/Linuxboot. This is similar to the way FreeBSD could be booted on the PlayStation 3, but with a decade plus of new stuff added in.
Closing and Auction
BSDCan ends each year with a closing ceremony and auction. In the closing ceremony Dan announced that he was stepping down after 20 years of running the conference. New team is coming together to keep BSDCan going into its third decade.
The final event is an auction to raise money for the Ottawa mission. I joined in and picked up a 5th copy of the 30th anniversary journal edition with signatures from the people at the conference.