The generous travel grant from the FreeBSD Foundation allowed me for the first time to attend BSDCan 2012 and the associated Developer Summit. Going there was already an interesting experience. Originally, Florian Smeets, whom I later shared a room with at the University of Ottawa Residence, Benedict Reuschling, and myself had the same direct flight from Frankfurt to Ottawa. Unfortunately, that flight was canceled and we were reassigned to three different non-direct flights instead. Mine was via Toronto, with Andrew Pantyukhin also being on the plane from Frankfurt to Toronto. Later, on the connecting flight from Toronto to Ottawa, I met my former mentor Marcel Moolenaar, which shows that at this time of year one can't really go to Canada without running into a fellow FreeBSD developer on the way there.
In general, attending these events allowed me to match the names of a lot of FreeBSD Project members with faces, most of whom I already had worked with in one way or another in the past but haven't met at an EuroBSDCon so far. Among these were John Baldwin, Glen Barber, Sean Bruno, Adrian Chadd, Alan Cox, Debbi Goodkin, Peter Grehan, Joseph Kong, Kenneth D. Merry, David E. O'Brien, Attilio Rao, Bryan Venteicher, Ivan Voras, Peter Wemm, and several others.
It was also nice to once again meet Max Laier, who originally is from Germany and whom I saw last at EuroBSDCon 2005 as he now works in the US. Unfortunately, I missed Jake Burkholder, who visited the Developer Summit for one evening and maintained FreeBSD/sparc64 before me.
Taking part in the Developer Summit, in particular the Network Stack and Toolchain working groups as well as the 10.0 Brainstorming/Planning and the Vendor Summit, once again provided me with a good overview of what's currently going on in the project and what the plans for the future are. It also allowed me to get the other developers' opinion on changing the mii(4) framework to power down PHYs when the corresponding interface is down for 10.0. The "An Overview of Locking in the FreeBSD Kernel", "FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices", "High speed packet I/O: challenges and solutions", "IPv6", "Kernel Debugging Tricks" and "Recent Advances in IPv6 Security" talks I attended at BSDCan were very interesting. In particular, Stefan Bethke's "Ethernet Switch Framework" talk was enlightening as it went into great detail about the challenges of matching PHYs with MACs in off-the-shelf embedded networking gear and the resulting issues with newbus and the mii(4) framework.
Being at the DevSummit and BSDCan 2012 also gave me the opportunity to discuss partially longstanding issues with fellow developers, whom I'd also like to thank. In particular, these are:
- John Baldwin for providing a solution for dealing with an ordering problem when compiling more than one driver into a single module affecting four MAC/PHY driver pairs (fix committed in r235255)
- Alan Cox for providing me with hints on how to debug a problem seen with the machine independent VM system when running on machines with extra sparse memory. Unfortunately, this couldn't be delved into while in Ottawa due to lack of remote access to a machine exhibiting this problem.
- Marcel Moolenaar for discussing his ongoing work on refactoring and unifying busdma(9) with me. Hopefully, this was helpful to him and in turn will allow the future busdma(9) framework to work on sparc64 and even fix the limitations of the current implementation and also on other architectures.
- Bjoern Zeeb for looking into a fix I had for alignment issues in the IPv6 neighbor discover code (fix committed in r235681).
While hacking during these events, I finally also managed to commit support for the Atmel SAM9XE512 ARM-based Ethernut 5 boards in r235348, which as far as I can tell makes FreeBSD the first operating system besides Nut/OS to run out of tree on these BSD-licensed boards. I was also able to fix the remaining sparc64 related issues of compiler_rt in r235388, which later on was changed to replace libgcc in r235487, making FreeBSD/mips the only architecture to not use compiler_rt left.
No comments:
Post a Comment