Create a virtio based system

Registered by Michael Hope

'virtio' provides a set of drivers that ease the interface between the kernel and emulator by providing block, network, and other interfaces that are simpler to emulate. Create a virtio based package and benchmark.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Michael Hope
Direction:
Needs approval
Assignee:
Peter Maydell
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Michael Hope

Related branches

Sprints

Whiteboard

Base it on versatile but add virtio based block and network support. First step towards qemu-focused-system. Benchmark to show the difference on network or disk based workloads.

NB: this overlaps rather with https://blueprints.launchpad.net/linaro-kernel-wg/+spec/qemu-virtio-support

What I think 'done' means for this blueprint:
straightforward instructions for somebody else to easily reproduce a setup booting a linaro release or snapshot on qemu with virtio
some benchmark results of virtio performance improvement or otherwise (on a wiki page? mailing list post?), aimed mostly at showing that there is a difference, rather than being a serious benchmarking exercise
any custom patches to qemu or kernel at least put into linaro's versions and hopefully aimed upstream

Status:

Complexity:

Effort: 1M

(?)

Work Items

Work items:
get qemu to boot with the ubuntu versatile kernel plus linaro rootfs: DONE
rebuild a stock versatile kernel: DONE
tweak update-tarball-kernel script to handle versatile (update ramdisk properly): DONE
boot stock versatile kernel/initrd in qemu with linaro rootfs: DONE
add Arnd's patches to support virtio to kernel (http://www.spinics.net/lists/arm-kernel/msg95133.html): DONE
boot kernel and check that mounting a virtio block device (not rootfs) works: DONE
identify a reasonable disk io benchmark: DONE
benchmark disk io via virtio vs not: DONE
find out from Arnd how he set up the virtio-based rootfs and reproduce it: DONE
configure and get virtio-based networking running: DONE
identify a networking benchmark: DONE
benchmark network via virtio vs not: DONE
write up results, config/how things were built, any qemu/kernel patches needed: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.