On 11/06/18 20:59, Boris Ostrovsky wrote: > On 06/11/2018 03:57 AM, Juergen Gross wrote: >> 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). >> >> Signed-off-by: Juergen Gross <jgr...@suse.com> > > Reviewed-by: Boris Ostrovsky <boris.ostrov...@oracle.com> > > I wonder also whether netfront_tx_slot_available() is meant to be > > return (queue->tx.req_prod_pvt - queue->tx.rsp_cons) < > (NET_TX_RING_SIZE - XEN_NETIF_NR_SLOTS_MIN - 1); > > which is the same numeric value but provides a more accurate description > of what is being tested.
Yes, this is a sensible idea. I'll add that, keeping your R-b. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel