A Final Evaluation: Google Summer of Code & FreeBSD
By Jake Freeland on September 6, 2022
Edited on September 7, 2022
Introduction
In March 2022, I got in contact with Joseph Mingrone, a project coordinator at FreeBSD. After some discussion, I was offered a chance to participate in the Google Summer of Code 2022 mentorship under FreeBSD. I researched topics of interest and decided to pursue porting Intel's igt-gpu-tools drm driver testing suite to FreeBSD.
- Documentation surrounding the porting process can be found here.
- The project's FreeBSD wiki page is here.
The Work
All code below is in the process of being merged.
FreeBSD Reviews
FreeDesktop igt-gpu-tools Patchwork Submissions
Github Pull Requests
Unfinished Components
This project was successful, but some code-quality compromises were made to meet the project's final deadline. I have documented a list of future FreeBSD contributions that I plan on pursuing here. Some of these missing features are detrimental to the functionality of the igt_runner
testing interface. Fixing these issues will take time and are considerably more complex than the work I have done thus far. Luckily, the igt-gpu-tools test binaries can be manually executed from /usr/local/libexec/igt-gpu-tools/
without igt_runner
. I am in the process of reading The Design And Implementation Of The FreeBSD Operating System by McKusick, Neville-Neil, and Watson. This book is teaching me proper practices for designing low-level operating system components. I will use this newfound knowledge to port Linux's signalfd and timerfd to FreeBSD so igt_runner
can function as intended.
Summary
The Google Summer of Code program continuously motivated me to research what I love: machine architecture, operating system design, and C programming. Additionally, I was able to make countless connections and spoke personally with some of the most renowned and experienced software engineers at FreeBSD. Both of these points contributed to one of the most productive and educational time periods of my life. I am grateful for the opportunity and will potentially volunteer as a GSoC mentor for FreeBSD in the future.