]> git.baikalelectronics.ru Git - kernel.git/commit
xen-netback: require fewer guest Rx slots when not using GSO
authorDavid Vrabel <david.vrabel@citrix.com>
Tue, 8 Sep 2015 13:25:14 +0000 (14:25 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Sep 2015 19:34:35 +0000 (12:34 -0700)
commit175d87c3d0a976f6e33b6de46c81bf1a63f81047
treec95e0fefd5685977313ff4c0794d22906a163253
parent870f1fc219fe87915de4cc6e427052f3d6524327
xen-netback: require fewer guest Rx slots when not using GSO

Commit f1bde945d046a5b013581e8c607a2d3a0c0ebac1 (xen-netback: fix
unlimited guest Rx internal queue and carrier flapping) introduced a
regression.

The PV frontend in IPXE only places 4 requests on the guest Rx ring.
Since netback required at least (MAX_SKB_FRAGS + 1) slots, IPXE could
not receive any packets.

a) If GSO is not enabled on the VIF, fewer guest Rx slots are required
   for the largest possible packet.  Calculate the required slots
   based on the maximum GSO size or the MTU.

   This calculation of the number of required slots relies on
   c026203f6c06 (xen-netback: always fully coalesce guest Rx packets)
   which present in 4.0-rc1 and later.

b) Reduce the Rx stall detection to checking for at least one
   available Rx request.  This is fine since we're predominately
   concerned with detecting interfaces which are down and thus have
   zero available Rx requests.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/common.h
drivers/net/xen-netback/netback.c