Portable Hotplugging  NetBSD’s uvm hotplug(9) API development - Cherry G. Mathew
Channel: EuroBSDcon
Date: 2019-10-16

Description:

This presentation is based upon the work of two authors: Cherry G. Mathew and
Santhosh Raju.
The current implementation of uvm(9) uses a static array to “manage”
memory segments. The uvm hotplug(9) API enables dynamically “managed”
memory segments allowing for the possibility of hot plugging and unplugging of
memory. During the process of implementing uvm hotplug(9) we used a Test
Driven Development methodology and Pair Programming to achieve our goal.

This talk focuses on how to re-organize the code for testing, test design
strategy for correctness and performance evaluation and the possibilities of
testing kernel code in userspace, specifically code pertaining to uvm(9). The
talk will also cover the methodology we used to achieve TDD on an existing
code base which lacked any prior formal written tests. In addition to the
above there will also be a small section on how tests(7) was used as a tool
to measure performance by load testing.

Speaker biography:

Cherry has been a NetBSD user since 2005 and a developer since 2006. His
first project was to import the ia64 FreeBSD sources to NetBSD.
Later he turned his attention to minor OF tweaks to the ibook G3 he
owned.

His serious contributions to NetBSD came after an internship with what
was then Xensource in the U.Cambridge startup scene. He committed SMP
support for NetBSD/Xen in 2011, the Xen memory ballooning driver for
NetBSD and the uvm hotplug interface.

Cherry also got FreeBSD to boot single user to Xen in its
Paravirtualised avatar – however this project was made redundant by the
excellent PVHVM support by royger@

Cherry likes to play with kernel code, electronics, walk up mountains,
travel footloose and hang out with the locals, pretend to cook, do a
bit of gardening / small scale farming, teach, take things apart, and
generally pretend that he is an intelligent sort.