[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: wm(4) faster than vioif(4) in some cases
tnn%NetBSD.org@localhost (Tobias Nygren) writes:
>I suspect this may be because there is no TX completion notification
>which NFS needs for good performance.
Not sure what you mean with 'completition notification' here.
> There is a comment in if_vioif.c:
> * tx interrupt is actually disabled; this should be called upon
> * tx vq full and watchdog
>Does anyone know what needs to be done to enable tx interrupt?
In vioif_attach() you find:
virtio_stop_vq_intr(vsc, &sc->sc_vq); /* not urgent; do it later */
sc_vq = receive queue
sc_vq = transmit queue
sc_vq = control queue
The interrupt handler should already be in place. You just need to
start instead of stop.
The only effect of this should be a higher CPU load unless something
runs out of resources. But this can happen if packets are queued at the
speed they are actually sent to the "wire". The queue (length = 16)
then rarely fills and the watchdog only frees buffers every second.
Michael van Elst
"A potential Snark may lurk in every tree."
Main Index |
Thread Index |