Michael S. Tsirkin
2021-May-05 04:38 UTC
virtio_net: Almost a second until link becomes ready
On Tue, May 04, 2021 at 08:04:50PM +0200, Paul Menzel wrote:> Dear VirtIO net driver folks, > > > I would like to start the video conferencing software Jitsi in a QEMU/KVM VM > as quickly as possible. > > ``` > $ qemu-system-x86_64 --version > QEMU emulator version 5.1.0 > Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers > $ qemu-system-x86_64 -enable-kvm -name jitsi -cpu host -m 8G -smp 12 -global > virtio-net-pci.romfile= -device virtio-rng-pci -boot menu=off -drive > file=jitsi.003.disk,format=qcow2,if=virtio -nic tap,ifname=tap.jitsi,script=/bin/true,downscript=/bin/true,model=virtio-net-pci,mac=52:c6:11:00:00:18 > -vnc :60 -k de -serial none -chardev > socket,id=mon1,path=mon.socket,server,nowait -chardev > socket,id=mon2,path=qmp.socket,server,nowait -mon chardev=mon1,mode=readline > -mon chardev=mon2,mode=control > ``` > > The (inaccurate) measurement with `systemd-analyze critical-chain` shows > that `systemd-network-wait-online.service` takes some time. > > ??systemd-networkd-wait-online.service @159ms +2.871s > > Linux logs: > > [ 1.058253] virtio_net virtio0 ens3: renamed from eth0 > [?] > [ 1.103165] IPv6: ADDRCONF(NETDEV_UP): ens3: link is not ready > [?] > [ 2.044947] IPv6: ADDRCONF(NETDEV_CHANGE): ens3: link becomes ready >I'm not sure what is going on here: a lost config interrupt? systemd forcing link down then up for its own reasons? But a possible workaround is to add status=off to the virtio net device to force link to always be up.