qemu-patch-raspberry4/hw/net
Michael S. Tsirkin 1c0fbfa3de virtio-net: allow increasing rx queue size
This allows increasing the rx queue size up to 1024: unlike with tx,
guests don't put in huge S/G lists into RX so the risk of running into
the max 1024 limitation due to some off-by-one seems small.

It's helpful for users like OVS-DPDK which don't do any buffering on the
host - 1K roughly matches 500 entries in tun + 256 in the current rx
queue, which seems to work reasonably well. We could probably make do
with ~750 entries but virtio spec limits us to powers of two.
It might be a good idea to specify an s/g size limit in a future
version.

It also might be possible to make the queue size smaller down the road, 64
seems like the minimal value which will still work (as guests seem to
assume a queue full of 1.5K buffers is enough to process the largest
incoming packet, which is ~64K).  No one actually asked for this, and
with virtio 1 guests can reduce ring size without need for host
configuration, so don't bother with this for now.

Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Jason Wang <jasowang@redhat.com>
Suggested-by: Patrik Hermansson <phermansson@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2016-09-27 17:54:21 +08:00
..
fsl_etsec hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
rocker qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
allwinner_emac.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
cadence_gem.c cadence_gem: Correct indentation 2016-09-22 18:13:07 +01:00
dp8393x.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
e1000.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
e1000_regs.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
e1000e.c e1000e: remove internal interrupt flag 2016-08-22 16:06:08 +08:00
e1000e_core.c hw/net/e1000e: Fix compiler warning 2016-09-13 18:12:34 +03:00
e1000e_core.h net: Introduce e1000e device emulation 2016-06-02 10:42:29 +08:00
e1000x_common.c hw/net/e1000: Don't use *_to_cpup() 2016-06-27 16:39:56 +01:00
e1000x_common.h e1000: Move out code that will be reused in e1000e 2016-06-02 10:42:29 +08:00
eepro100.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
etraxfs_eth.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
imx_fec.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
lan9118.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
lance.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
Makefile.objs e1000e: fix building without CONFIG_VMXNET3_PCI 2016-07-18 16:17:02 +08:00
mcf_fec.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
milkymist-minimac2.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
mipsnet.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
ne2000-isa.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
ne2000.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
ne2000.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
net_rx_pkt.c net_pkt: Extend packet abstraction as required by e1000e functionality 2016-06-02 10:42:28 +08:00
net_rx_pkt.h net_pkt: Extend packet abstraction as required by e1000e functionality 2016-06-02 10:42:28 +08:00
net_tx_pkt.c net: vmxnet: use g_new for pkt initialisation 2016-08-18 12:05:18 +08:00
net_tx_pkt.h clean-includes: run it once more 2016-06-16 18:39:03 +02:00
opencores_eth.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
pcnet-pci.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
pcnet.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
pcnet.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
rtl8139.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
smc91c111.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
spapr_llan.c spapr_llan: convert to trace framework instead of DPRINTF 2016-09-23 10:29:40 +10:00
stellaris_enet.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
trace-events spapr_llan: convert to trace framework instead of DPRINTF 2016-09-23 10:29:40 +10:00
vhost_net.c vhost: check for vhost_ops before using. 2016-08-10 17:47:29 +03:00
virtio-net.c virtio-net: allow increasing rx queue size 2016-09-27 17:54:21 +08:00
vmware_utils.h vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU 2016-06-28 10:13:57 +08:00
vmxnet3.c net: vmxnet3: check for device_active before write 2016-08-09 15:24:56 +08:00
vmxnet3.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
vmxnet_debug.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
xen_nic.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
xgmac.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
xilinx_axienet.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
xilinx_ethlite.c hw/net: Fix a heap overflow in xlnx.xps-ethernetlite 2016-08-09 15:27:18 +08:00