Re: [virtio-net][PATCH] Don't arm tx hrtimer with a constant 500us each transmit

Rusty Russell
2007-12-18T07:24:56Z

On Tuesday 18 December 2007 16:30:08 Avi Kivity wrote:
> Rusty Russell wrote:
> > Yes, I pondered this when I wrote the code. On the one hand, it's a
> > low-probability pathological corner case, on the other, your patch
> > reduces the number of timer reprograms in the normal case.
>
> One thing that came up in our discussions is to let the host do the
> timer processing instead of the guest. When tx exit mitigation is
> enabled, the guest bumps the queue pointer, but carefully refrains from
> kicking the host. The host polls the tx pointer using a timer, kicking
> itself periodically; if polling yields no packets it disables tx exit
> mitigation. This saves the guest the bother of programming the timer,
> which presumably requires an exit if the timer is the closest one to
> expiration.
>
> [btw, this can be implemented in virtqueue rather than virtio-net, no?]

Yes, the current patch is a hack (look at the hardcoded constant); wanted to
see how much it helps, if any.

More sophisticated timer management would be a definite win... funny, I have a
patch here which helps that....

Rusty.