[PATCH] [S/master-next] [SRU] armhf: virtio_mmio support

Paolo Pisati paolo.pisati at canonical.com
Fri Oct 4 14:25:20 UTC 2013


BugLink: http://bugs.launchpad.net/bugs/1235277

SRU Justification:

Impact: qemu 1.6 adds support for virtio memory mapped devices (like net and
block) on arm. While S will probably ship with qemu 1.5, we know it'll be
provided in a ppa and we want to take advantage of the speedup offered by
virtio, so

1) turn on virtio_mmio on armhf (generic and generic-lpae)
2) uniform VIRTIO* support among all the different archs, making it a
compiled-in options like on i386 and amd64

Fix: apply the attached config patch and recompile a kernel with it

Testcase: try booting a qemu kvm using a kernel without this patch:

sudo qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -enable-kvm -m 512M
-kernel /boot/vmlinuz-`uname -r` -append 
"console=ttyAMA0 earlyprintk=serial root=/dev/mmcblk0 ro rootfstype=ext4"
-serial stdio -dtb /lib/firmware/`uname -r`/device-tree/vexpress-v2p-ca15-tc1.dtb
-initrd /boot/initrd.img-`uname -r`
-drive if=sd,cache=writeback,file=saucy-server-cloudimg-armhf.img -net nic
-net user,hostfwd=tcp::2223-:22 -display none

and then try to boot another instance using a kernel with the config patch
applied:

sudo qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -enable-kvm -m 512M
-kernel /boot/vmlinuz-`uname -r` -append
"console=ttyAMA0 earlyprintk=serial root=/dev/vda ro rootfstype=ext4"
-serial stdio -dtb /lib/firmware/`uname -r`/device-tree/vexpress-v2p-ca15-tc1.dtb
-initrd /boot/initrd.img-`uname -r`
-drive if=none,cache=writeback,file=saucy-server-cloudimg-armhf.img,id=foo
-device virtio-blk-device,drive=foo -display none -netdev tap,id=tap0
-device virtio-net-device,netdev=tap0

the difference is noticeable to the naked eye.

Paolo Pisati (1):
  UBUNTU: [Config] arm: VIRTIO_[BLK|NET|MMIO]=y

 debian.master/abi/3.11.0-9.16/armhf/generic-lpae.modules | 5 -----
 debian.master/config/amd64/config.common.amd64           | 4 ----
 debian.master/config/armhf/config.common.armhf           | 1 +
 debian.master/config/armhf/config.flavour.generic        | 5 -----
 debian.master/config/armhf/config.flavour.generic-lpae   | 5 -----
 debian.master/config/config.common.ubuntu                | 4 ++++
 debian.master/config/i386/config.common.i386             | 4 ----
 7 files changed, 5 insertions(+), 23 deletions(-)

-- 
1.8.3.2





More information about the kernel-team mailing list