]> git.baikalelectronics.ru Git - kernel.git/commit
xen/netfront: raise max number of slots in xennet_get_responses()
authorJuergen Gross <jgross@suse.com>
Tue, 12 Jun 2018 06:57:53 +0000 (08:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 Jun 2018 22:42:38 +0000 (15:42 -0700)
commit78b4f305699a9bcc88d2f38bb29d58ad58b7d5c9
treec11ba9e13cf34a683fe4721442e7914c4e234965
parent66ce6d0fb7eff8d20212a4371aa46431eaeafd54
xen/netfront: raise max number of slots in xennet_get_responses()

The max number of slots used in xennet_get_responses() is set to
MAX_SKB_FRAGS + (rx->status <= RX_COPY_THRESHOLD).

In old kernel-xen MAX_SKB_FRAGS was 18, while nowadays it is 17. This
difference is resulting in frequent messages "too many slots" and a
reduced network throughput for some workloads (factor 10 below that of
a kernel-xen based guest).

Replacing MAX_SKB_FRAGS by XEN_NETIF_NR_SLOTS_MIN for calculation of
the max number of slots to use solves that problem (tests showed no
more messages "too many slots" and throughput was as high as with the
kernel-xen based guest system).

Replace MAX_SKB_FRAGS-2 by XEN_NETIF_NR_SLOTS_MIN-1 in
netfront_tx_slot_available() for making it clearer what is really being
tested without actually modifying the tested value.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netfront.c