• Paul Durrant's avatar
    xen-netback: worse-case estimate in xenvif_rx_action is underestimating · a02eb473
    Paul Durrant authored
    The worse-case estimate for skb ring slot usage in xenvif_rx_action()
    fails to take fragment page_offset into account. The page_offset does,
    however, affect the number of times the fragmentation code calls
    start_new_rx_buffer() (i.e. consume another slot) and the worse-case
    should assume that will always return true. This patch adds the page_offset
    into the DIV_ROUND_UP for each frag.
    
    Unfortunately some frontends aggressively limit the number of requests
    they post into the shared ring so to avoid an estimate that is 'too'
    pessimal it is capped at MAX_SKB_FRAGS.
    Signed-off-by: default avatarPaul Durrant <paul.durrant@citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Cc: Sander Eikelenboom <linux@eikelenboom.it>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a02eb473
netback.c 41 KB