Progress / KVM Forum trip report:
* As usual, we held the QEMU Summit at the same time as the forum; this is an hour-or-two invitation only meeting of the top 20 or so maintainers/submaintainers, discussing process and other project issues. A proper summary/writeup of the minutes will be posted to qemu-devel later, but IMHO this year the most interesting topics were: - Spreading the load of managing pull request merges; currently I do this with the aid of some hand-hacked scripts. To be able to spread this work among more people we need to replace that with a more maintained and standardized CI/testing setup. RedHat have agreed to provide some people to work on at least the initial setup part of this, and we got some consensus that the approach to take was to use Gitlab with some custom 'runners' to handle the 'build/test on aarch64/ppc/s390x/etc' parts. - We talked about the project's general stance on 'plugin' interfaces; which can be controversial both because they commit us to maintaining a stable API/ABI and because they have the potential to be used to work around the GPL (eg proprietary device models). We plan to write up some guidelines here (mostly just writing down the existing consensus). - We also talked (again) about our handling of security issues and CVEs. My impression is that there are some parts of this that people aren't hugely happy with but that nobody has the time/effort to try to improve things (eg better documentation/tracking of issues, more prompt upstream point releases with security fixes), so things are likely to stay about as they are now. * Interesting talks (videos are being uploaded to: https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA ): - 'The Hype Around the RISC-V Hypervisor' : the RISC-V architecture's hypervisor extension isn't completely finalized yet, but it's far enough advanced that KVM support and also QEMU emulation of it have been written. An amusing sign of the architecture's academic underpinnings is that this first version doesn't have any hardware acceleration of the interrupt controller, but does have full nested-virtualization support. - 'ZERO: Next Generation Virtualization Platform for Huawei Cloud': Huawei describe hardware for a cloud environment which offloads as much as possible of the hypervisor work to custom I/O cards and a custom silicon cloud-control device, in a general approach that's probably familiar to anybody who watched the Amazon Nitro presentation from the other year. - 'What's Going On? Taking Advantage of TCG's Total System Awareness': Alex Bennée's talk on the introspection plugin work we've been doing in Linaro (and which will be in QEMU 4.2). - 'Playing Lego with Virtualization Components': description of the Rust 'rust-vmm' set of libraries intended to provide useful building blocks for putting together virtual machine managers (like Firecracker, crosvm). Basically similar content to a presentation they did for Cambridge University earlier this year, but this talk's been recorded so is good if you weren't in the audience the first time around. * And as always the in-person networking is valuable: - Oracle have a "split device emulation into separate processes" idea that's alarmingly invasive of the source code, but Stefan came up with an approach that might let them do what they need without making the source code harder to work with for the rest of us. - Met the RedHat person who's going to do the CI-for-pullreqs work (see QEMU Summit item earlier) : getting this unstalled was probably the most useful concrete outcome of the conference - Finally met Aurelien Jarno (a longstanding hobbyist contributor to QEMU who usually can't attend these conferences) * While at the conference Drew and I managed to finally get the SVE support for KVM guests into master (the last hurdle was an awkward test failure on the aarch32-compat-on-aarch64-kernel setup I happen to use as one of my build test environments; we don't care about whether KVM really works in this setup but we need 'make check' to not fail) * Also managed to fit in some wrangling of pull requests; the timing of the 4.2 release unfortunately put softfreeze on the Tuesday before the conference and rc0 on the Tuesday afterwards; rc0 ended up being postponed a couple of days as a consequence.
thanks -- PMM