On 9 March 2012 18:44, Alexander Golec <thejfasi at gmail.com> wrote: > I'm an undergrad at Columbia, and I'm working on a project for a > class to implement virtio on kvm-arm for the Cortex A15. The goal > is to get some form of virtio up and running and measure > performance as best we can, given that we are looking at running > on simulators right now. I'm afraid I think this is fundamentally misguided. You cannot measure performance in any useful way running on the Fast Model. The set of things which are slow in hardware are not necessarily slow to the same extent under simulation, and some things which are very slow in simulation do not have the same penalty when run on real hardware. It is a long way from a simple "linear slowdown" model. You can use the simulator to develop and test the virtio code, but for performance evaluation you're going to have to wait until hardware is available. > My current approach is as follows: vanilla virtio uses PCI > as its transport mechanism, which poses a problem for > PCI-less ARM devices. I've looked at Peter Maydell's > changes for using mmio as a transport for virtio, and > I've hit on a an obstacle, namely that the code uses the > post-39bff object API, which dropped just days after the > kvm-a15 branch started. I'm not sure what this "kvm-a15" branch you're referring to is. If it's a QEMU branch and it predates the object API landing then you don't want to be doing any serious work on it anyway because you'll be making more work for yourself when it comes to landing upstream. > Here's what I was thinking: read up on both the new and > old API and modify the changes to use the old API. There are two reasons this doesn't make sense: (a) we should be doing development as close to head of QEMU master upstream as we can manage and (b) if you really want the old pre-API-change versions you can go and fish them out of the mailing list archives. I did the rebase for you exactly because I thought you wanted a version against a newer version of QEMU so you could work on them... > Also, Peter mentioned he wanted to perform a refactor > to abstract away the virtio transport, be it PCI or > mmio, a concern I will be ignoring. The refactoring is the only interesting bit of work remaining, since the 'prototype' virtio-mmio patches work OK and we can't do any performance testing yet. -- PMM