On Fri, 2015-02-13 at 02:52 +0000, Rusty Russell wrote: > "Michael S. Tsirkin" <mst@xxxxxxxxxx> writes: > > On Tue, Feb 10, 2015 at 12:02:37PM +1030, Rusty Russell wrote: > >> Jason Wang <jasowang@xxxxxxxxxx> writes: > >> > 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. As far as I understand the virtio_pci_common_cfg principle (just had a look, for the first time ;-), it's now an equivalent of the MMIO control registers block. I see no major problem with adding another one. Or were you thinking about introducing some standard for the "real" config space? (fine with me as well - the transport will have nothing to do :-) Paweł _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization