• Juergen Gross's avatar
    xen/netfront: raise max number of slots in xennet_get_responses() · 57f230ab
    Juergen Gross authored
    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: default avatarJuergen Gross <jgross@suse.com>
    Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    57f230ab
xen-netfront.c 54.8 KB