Alex Bennée <alex.ben...@linaro.org> writes:
> Pincus, Josh <josh.pin...@windriver.com> writes: > >> Hi, >> >> >> >> We were looking into a similar enhancement for the Virt I/O MMIO transport >> and came across this project. >> >> This enhancement would be perfect for us. > > So there is certainly an interest in optimising MMIO based virtio and > the current read/ack cycle adds additional round trip time for any trap > and emulate hypervisor. However I think there is some resistance to > making MMIO a re-implementation of what PCI already gives us for "free". <snip> > > - Quantifying the memory foot-print difference between PCI/MMIO > > PCI gives a lot for free including a discovery and IRQ model already > designed to handle MSI/MSI-X. There is a claim that this brings in a > lot of bloat but I think there was some debate around the numbers. > My rough initial experiment with a PCI and non-PCI build with > otherwise identical VIRTIO configs results in the following: > > 16:40:15 c.282% [alex@zen:~/l/l/builds] review/rpmb|… + ls -l > arm64/vmlinux arm64.nopci/vmlinux > -rwxr-xr-x 1 alex alex 83914728 Jul 31 16:39 arm64.nopci/vmlinux* > -rwxr-xr-x 1 alex alex 86368080 Jul 31 16:33 arm64/vmlinux* > > which certainly implies there could be a fair amount of headroom for > an MMIO version to implement some features. However I don't know if > it's fully apples to apples as there maybe unneeded PCI bloat that a > virtio-only kernel doesn't need. Just following up after cutting the Xgene and ThunderX PCI bloat from the kernel the margin is a little smaller: -rwxr-xr-x 1 alex alex 83914728 Jul 31 16:39 arm64.nopci/vmlinux* -rwxr-xr-x 1 alex alex 85639808 Aug 3 17:12 arm64/vmlinux* -- Alex Bennée