Improve bitbake build performance in L1 target. To achieve bug 1732, we make true hardware platform as work around, like n450, as L1 target, in which start the build process. And one NFS server in host is used as source server. we need do: 1. pre-install another disk image for source/sstate 2. build performance improvement/test: enabling KVM, SMP or device pass-through for network/disk
Let me change the owner to Edwin since he is actually doing the work. :-) Edwin has enabled KVM so the recipe parsing time was reduced from 30min to 2min now. Edwin will try to enable SMP and other things. Edwin, can you please update the WhiteBoard field with the below format? [P2] [D7] Development (xx% completed)
I have enabed KVM, guest smp, and virtio for net/blk. The result is promising: parsing time drop to 2 mins from 30 mins, but still has gap with native(4~5X slower as my rough estimation). At this point, 50% work are done with some tuning potentials left: device pass-through(like NIC or USB hard disk), cpu/memory virtualization optimization(like vcpu scheduling or memory/cache optimization), but all of them needs more efforts and depends on specific hardware. So I'd like to change L1 target as physical machine(like what Dexuan did on sugarbay) at this point, and re-visit performance issue in future if needed. The risk I can see is the platform difference when we convert the disk image from physical machine to emulated vmware system. This may affect hob integration efforts as it depends on X...
Saved the setup BKMs for future use:) == network virtualization == Set it via bridge, so that guest act as a true machine in the network. http://www.linux-kvm.org/page/Networking#public_bridge == guest smp == need following in qemux86 kernel config +CONFIG_SMP=y then append "-smp 4" with qemu == virtio == need following in qemux86 kernel config +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_BLK=y for blk, append following parameter with qemu: "-drive file=/home/gzhai/osel/images/source.img,if=virtio -drive file=/home/gzhai/osel/images/build.img,if=virtio" for net, append following to original "-net nic..." "model=virtio,"
Tested directed assign usb disk to qemu without VTd. The result is not good.
performance BKM @ https://wiki.yoctoproject.org/wiki/BKM:_improve_qemu_performance As we can get vmdk image directly, there is no need to continue tuning performance on KVM. KVM image should be a debug tools in future. Mark it as fix.