{ Maíra Canal }

Curriculum Vitae

My interests in computing include free software, software engineering, systems development, operating systems, and compilers.

I started to play around with embedded systems in 2020 and since then, I never stopped. I fell in love with the Linux operating system and in 2021, I decided to start contributing to this exciting operating system. I contributed to a couple of open-source projects during my journey, but mostly I contributed to the Linux Kernel, especially the DRM subsystem.

I still enjoy working with embedded systems and I really like to program in Rust, C, and C++. Moreover, in my spare time, I enjoy programming old-school embedded systems in assembly. I’m familiar with the x86, ARM, and MIPS assembly.

I’m a Computer Engineering student at the São Carlos School of Engineering (EESC-USP). During my time at the university, I served as an Embedded Systems Monitor, and I’ve developed a research paper to analyze the application of Embedded Linux in soft real-time applications.

Outside of computing, I enjoy listening to vinyl, playing board games, playing retro games, and traveling. I love learning new things and teaching what I know to others.

Education

Computer Engineering (2020 - present)

University of São Paulo

USP is considered to be Brazil’s most prestigious university and is frequently ranked the top university in Latin America.

I’ve studied different areas of computing and gained a lot of hard and soft skills. Subjects I’ve particularly enjoyed include Software Engineering, Data Structures, Compilers, and Operating Systems.

During my graduation, I was part of an extracurricular that develops aerospace technologies, Zenith Aerospace. There I was able to learn programming skills and be exposed for the first time to open-source.

Research

FAPESP Undergraduate Researcher (2021 - 2023)

A comparison between Linux approaches for soft real-time applications

I developed a research called “A comparison between Linux approaches for soft real-time applications” with the sponsorship of The São Paulo Research Foundation (FAPESP).

The research intended to implement routines in User Space and Kernel Space on a Linux-based distribution and, also, in Linux real-time patches, such as Xenomai and PREEMPT RT in order to evaluate the latency time, jitter, and worst-case response time of the system on the Beaglebone Black.

Also, I helped Professor Dr. Glauco Caurin during the first semester of 2021 in the Embedded Systems Course (SEM 0544) at the University of S ̃ao Paulo and planned classes involving Linux Device Drivers.

Professional Experience

Igalia (2023 - present)

Currently, I’m working on the Graphics development team at Igalia. Especially, I work with kernel development in the DRM subsystem. Since I started working for Igalia, I have landed features such as CPU jobs and GPU stats for the V3D driver.

Open Source Experience

Igalia Coding Experience (2022 - 2023)

During the Igalia Coding Experience, I worked on increasing the IGT test coverage on DRM/V3D kernel driver. This involved understanding the inner workings of the DRM/V3D kernel driver and, also, understanding its usage on Mesa.

Also, I improved the existing IGT test for DRM/VC4 kernel driver and also created new tests.

The Igalia CE provided me with an opportunity to improve my knowledge of DRI development and made me a better open-source developer. I learned a lot of new graphics concepts and I became more familiar with the Linux graphics stack. The final report of my experience is provided here.

During the second round of the Igalia CE, I rewrote the Virtual GEM (VGEM) driver in Rust, helping the Rust for Linux project to develop more safe abstractions for the Kernel. Moreover, I implemented Plane Rotation on VKMS, which gave me some experience with KMS.

The final report of my second round of the Igalia CE is provided here.

Google Summer of Code (2022)

Google Summer of Code is a global, online program focused on bringing new contributors into open-source software development. I was accepted as a X.Org Foundation contributor in GSoC 2022.

I developed unit tests for the display core of the AMDGPU kernel driver with the use of the KUnit framework. My Final Report is available here. Moreover, I converted the DRM selftests to KUnit unit tests. I also parameterized the unit tests and fixed build issues.

As I was developing tests, I realized that comparing arrays with KUnit was not very intuitive. So, I created a new KUnit Expectation to compare memory blocks.

During GSoC, I also tried to help debug and fix AMDGPU bugs reported by users, such as use-after-free problems.

Open Source Contributions

Linux Kernel

I have contributed with more than 120 approved patches to the Linux Kernel in the regulator, SPI, media, IIO, mfd, and DRM subsystems. The DRM subsystem is the community which I’m most engaged with, where I also review patches and interact with other contributors on the mailing list. I have commit rights on the drm-misc tree and I have committed plenty of patches. Also, I’m one of the Virtual Kernel Mode Setting (VKMS) and V3D maintainers.

IGT

I have more than 30 contributions to the IGT project, especially on the AMDGPU, V3D and VC4 tests. Recently, I’ve also contributed to some KMS tests in order to guarantee that the tests are working properly on VKMS.

Fedora

I maintain a couple of Fedora packages (especially, Rust packages) and help on Fedora QA test days. Moreover, I help with localization of many GNOME applications to Brazilian Portuguese.

Other contributions

As I prefer to use open-source tools, I frequently hack on them to add a feature I want or fix a bug; usually upstream the results as PRs. Thanks to this, I know my way around codebases written in different languages. I have previously contributed to LLVM, Mesa, VK-GL-CTS, and meta-openembedded