Marc Zyngier
Marc Zyngier has been toying with the Linux kernel since 1993, and has been involved over time with the RAID subsystem (MD) and all sorts of obsolete computer architectures.
He also messed with consumer electronics, cloud infrastructure, mobile phones and CPU design while
keeping track of the ARM architecture and co-maintaining KVM/arm64.
Session
Nested Virtualisation (NV) support for KVM/arm64 is expected to go live in Linux v6.16, should everything work according to plan.
Although an initial patch series had been maintained out of tree since 2017, its level of complexity was too high (and admittedly quality too low) to be seriously considered a merge candidate.
It took some effort to significantly refactor KVM/arm64 to a point where the NV support would be maintainable by drastically reducing its complexity, while ensuring the changes would will benefit non-NV setups. It also took time for the architecture to reach a point where supporting NV in KVM was actually worth the effort.
This isn't the first time KVM/arm64 undergoes a major redesign. But this instance radically changes the way new architectural features are introduced to the hypervisor. This has been achieved in part by using the ARM Architecture Machine Readable Specification (AARCHMRS), which was recently released under a permissive license. This allowed the modelling of a sizeable chunk of architectural behaviour. Not only does this ensure compliance with the specification, it also helps find issues with it.
This talk will describe why such a formalism was needed, how it has been put to a good use, what other challenges were tackled to get to this point, and what remains to be done.