On Tue, Dec 06, 2022 at 11:02:51AM +0100, Arrigo Triulzi wrote:
> >Synopsis:    VMM vcpu_exit_eptviolation and repeated vionet_enq_rx buffer 
> >issues
> >Category:    system amd64
> >Environment:
>       System      : OpenBSD 7.2
>       Details     : OpenBSD 7.2 (GENERIC.MP) #2: Thu Nov 24 23:54:39 MST 2022
>                        
> r...@syspatch-72-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description: 
> 
> We appear to have a problem with a VMM installation on OpenBSD 7.2.
> 
> The logs show multiple occurrences of the following:
> 
> Dec  6 08:12:12 vm-1 vmd[97811]: vcpu_exit_eptviolation: fault already handled
> Dec  6 08:12:12 vm-1 last message repeated 5 times
> Dec  6 08:12:12 vm-1 vmd[97811]: vionet_enq_rx: insufficient available buffer 
> capacity, dropping packet.
> Dec  6 08:12:38 vm-1 last message repeated 26 times
> Dec  6 08:12:38 vm-1 vmd[57759]: vionet_enq_rx: insufficient available buffer 
> capacity, dropping packet.
> Dec  6 08:12:39 vm-1 vmd[97811]: vionet_enq_rx: insufficient available buffer 
> capacity, dropping packet.
> Dec  6 08:13:10 vm-1 last message repeated 31 times
> Dec  6 08:15:11 vm-1 last message repeated 119 times
> Dec  6 08:25:12 vm-1 last message repeated 610 times
> Dec  6 08:32:29 vm-1 last message repeated 441 times
> 

As dv@ pointed out in a previous mail, the eptviolation exit message can
be ignored (and as he points out, should probably be removed or
suppressed since it's not super useful). The vionet messages have been
there forever; if these are new, then its more likely due to some change
in the rate of packets being received by the VMs than something that
changed in vmd (since we haven't made changes in that area in ages). All
this means is that the virtio ring filled up with Rx packets before the
VM could process them. Presently, the size of the vmd vionet ring is 256
packets. You could experiment with raising that (it's in
src/usr.sbin/vmd/virtio.h) to a higher power of 2 and see if that helps.

dlg@ has given dv@ and I a diff that might help here by offloading
virtio processing to a taskq but we are still getting it working.

-ml

Reply via email to