]> git.baikalelectronics.ru Git - kernel.git/commit
xen-netback: worse-case estimate in xenvif_rx_action is underestimating
authorPaul Durrant <Paul.Durrant@citrix.com>
Fri, 28 Mar 2014 11:39:06 +0000 (11:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 29 Mar 2014 22:50:34 +0000 (18:50 -0400)
commit5446feabc024151e236fc8ad2cc67942df0361b9
tree5a8d6dca5909de547b7a4d10c65329752d15d7ac
parentc77a2a2968e288417a0b4612c2c5c3219c4b4761
xen-netback: worse-case estimate in xenvif_rx_action is underestimating

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: Paul 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: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/netback.c