Thread (20 messages) 20 messages, 3 authors, 2015-02-13

Re: [PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support

From: Rusty Russell <hidden>
Date: 2015-02-13 02:52:09

"Michael S. Tsirkin" [off-list ref] writes:
On Tue, Feb 10, 2015 at 12:02:37PM +1030, Rusty Russell wrote:
quoted
Jason Wang [off-list ref] writes:
quoted
This patch enables the interrupt coalescing setting through ethtool.
The problem is that there's nothing network specific about interrupt
coalescing.  I can see other devices wanting exactly the same thing,
which means we'd deprecate this in the next virtio standard.

I think the right answer is to extend like we did with
vring_used_event(), eg:

1) Add a new feature VIRTIO_F_RING_COALESCE.
2) Add another a 32-bit field after vring_used_event(), eg:
        #define vring_used_delay(vr) (*(u32 *)((vr)->avail->ring[(vr)->num + 2]))

This loses the ability to coalesce by number of frames, but we can still
do number of sg entries, as we do now with used_event, and we could
change virtqueue_enable_cb_delayed() to take a precise number if we
wanted.
But do we expect delay to be update dynamically?
If not, why not stick it in config space?
Hmm, we could update it dynamically (and will, in the case of ethtool).
But it won't be common, so we could append a field to
virtio_pci_common_cfg for PCI.

I think MMIO and CCW would be easy to extend too, but CC'd to check.
quoted
My feeling is that this should be a v1.0-only feature though
(eg. feature bit 33).
Yes, e.g. we can't extend config space for legacy virtio pci.
Thanks,
Rusty.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help