Hi, I had some initial investigation on 9p read/write performance and it looks not good when compared to the implementation in kvmtool.
With kvmtool, the write speed is ~1400MB/s. With QEMU, it's only ~ 700MB/s. I had a quick look at the code, the kvmtool code is really simple so no other overhead exists. For QEMU, it's different. There are some indirect layers on the path from guest call to the final 9p driver (in our case it's local). The biggest overhead I have seen is the coroutine framework 9p replies on. I tried to disable coroutine for 9p temporarily and traced it, the time in v9fs_write decreased from ~60us -> ~30us, at the same time the write speed in guest increased from ~700MB/s -> ~1100MB/s. There is still another ~300MB/s needs to be figured out when compared to kvmtool. Anyone have experience on this or any suggestions? Thanks, Chao