Re: [Qemu-devel] [PATCH 0/5][RFC] virtio-net: MAC filtering

Avi Kivity
2009-01-11T08:33:11Z

Anthony Liguori wrote:
> Paul Brook wrote:
>>> A concern here is the growing size of the virtio-net I/O port space
>>> config. This series brings it up to 256 bytes with PCI resource
>>> rounding. The VLAN filter bitmap would increase that by another 512
>>> bytes, making it 1kB and limiting us to something less than 64 such
>>> devices per guest. Is anyone worried? Should filter tables live in
>>> MMIO space for virtio devices? I'll send out the guest side patches
>>> for
>>> virtio-net in a separate thread. Thanks,
>>>
>>
>> This is one reason why IO ports are a reallybad idea. Use memory
>> mapped register spaces like any other sane system and you won't have
>> a problem.
>>
>
> IO ports are much faster for notification than MMIO in KVM which is
> why the space is currently IO ports. It was never meant to hold very
> large amounts of data.

We can, btw, fix the mmio speed issue by adding two new hypercalls:
mmio_read() and mmio_write(). We could then hook <asm/io.h> to use the
hypercalls instead of reading directly. This would speed up most
emulated devices, not just virtio.

I don't know whether Windows drivers access mmio using helpers or directly.

--
error compiling committee.c: too many arguments to function