Trip report: KVM Forum/LinuxCon NA 2011

Peter Maydell peter.maydell at
Tue Aug 30 12:14:41 UTC 2011

Trip report: KVM Forum/LinuxCon NA 2011

KVM Forum is an annual conference; this year it was colocated with
LinuxCon NA in Vancouver. There were about 150 attendees; many of them
are simply users of KVM and so many of the talks are aimed at KVM
users. However it's also an opportunity for the KVM and QEMU developer
community to get together, with a number of informal BoF sessions and
an all-day hackathon later in the week.

The talk schedule is here, together with the slides for all talks:

Some brief highlights:

 * Keynotes

ARM/Linaro got positive mentions in both keynotes; Avi Kivity said of
the ARM/A15 KVM work that he had "every reason to expect it to be very
successful".  Anthony Liguori's keynote summarising the year in QEMU
development included some statistics about commits: Linaro came third
in the list of "companies with most commits", behind only Red Hat and
IBM; I came top of the "individual authors with most commits" list,
being apparently responsible for 7% of all QEMU patches this year :-)


There were several talks about KVM on PPC architectures; interestingly
this is seeing use not just on the server end but also in the
embedded/realtime space (including a talk from Freescale where they
said they are working on KVM on embedded PPC because of customer
demand for KVM). It was also reassuring to see that another
architecture has preceded us in shaking out x86-isms from KVM.

 * KVM Tool

This has got headlines recently as a potential replacement for the
userspace launcher/device model role which QEMU currently plays when
starting guest OSes under KVM. It's intended to be minimal and
lightweight and only to run Linux guests (with paravirtualised devices
for most purposes). The general reaction seemed to be that although
the implementation is currently minimal it will become larger and
bloatier as they add features off their wishlist. There's also some
ill-feeling about the effective namespace grab of calling the
userspace binary "kvm".  From an ARM-centric point of view we can just
wait and see whether it gets much traction. Possibly it may turn into
a testbed for technology which is easier to develop on than the
'mature' QEMU which has to deal with backwards compatibility and
supporting users.

 * QEMU Object Model and Device Model issues and redesign

For me one of the most important strands of conversation at the
conference was replacing QEMU's device model abstraction with
something better.  QEMU's current device model abstraction is "qdev";
this is the (vaguely object-oriented) framework which lets you create
devices, configure them and connect them together. It models the world
as a tree: a root device exposes a bus, to which child devices can
connect; those child devices may expose further buses, and so on.
This works quite well in the PC world where mostly you're interested
in plugging in USB devices, PCI cards, etc; it is rather less well
matched to the embedded board models where things are much less
hierarchical. qdev's major flaws include:
 + insists on bus hierarchy, but not everything is a bus, and in any
   case there are often several trees (memory transactions, clock,
   interrupts) which don't necessarily coincide
 + no support for composition ("device foo is actually devices bar
   and baz glued into one box")
 + just barely supports having devices expose signal (gpio/irq) lines
   and memory regions (typically registers), but doesn't let you give
   them useful names, so you have to access them by index number
We spent just about all of Thursday's hacking session going through
this.  I felt we got good agreement on the problems, and perhaps
80-90% agreement on Anthony Liguori's proposed new QEMU Object Model
as a solution to them; some loose ends still need to be worked

 * LinuxCon NA

KVM Forum was colocated with LinuxCon NA this year. My opinion (which
seemed to be shared with the other Linaro attendees I talked to about it)
was that LinuxCon NA suffered from being not very technical and not
very focused -- it wasn't clear to me who they thought their target
audience was. A few points of interest:
 + Linus Torvalds' keynote was reported in some places as more
   complaints about ARM hardware but I actually thought it was pretty
   positive about the progress we're making in sorting out the issues
 + Matthew Garrett's talk about x86 platform drivers (those things that
   deal with LEDs, funny keys, batteries and other odd laptop hardware)
   revealed that actually PC hardware manufacturers do just as much
   random non-standard undocumented silliness, it's just that accident
   of history has limited them to only doing so in the minor bits at
   the edges...

-- PMM

More information about the linaro-toolchain mailing list