WSL2-Linux-Kernel/drivers/infiniband/ulp/ipoib
Eric Dumazet b28ba72665 IPoIB: fix skb truesize underestimatiom
Or Gerlitz reported triggering of WARN_ON_ONCE(delta < len); in
skb_try_coalesce()
This warning tracks drivers that incorrectly set skb->truesize

IPoIB indeed allocates a full page to store a fragment, but only
accounts in skb->truesize the used part of the page (frame length)

This patch fixes skb truesize underestimation, and
also fixes a performance issue, because RX skbs have not enough tailroom
to allow IP and TCP stacks to pull their header in skb linear part
without an expensive call to pskb_expand_head()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Or Gerlitz <ogerlitz@mellanox.com>
Cc: Erez Shitrit <erezsh@mellanox.com>
Cc: Shlomo Pongartz <shlomop@mellanox.com>
Cc: Roland Dreier <roland@purestorage.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-07-10 23:33:12 -07:00
..
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile IPoIB: Add basic ethtool support 2008-04-16 21:09:32 -07:00
ipoib.h IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses 2012-02-08 18:26:54 -05:00
ipoib_cm.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
ipoib_ethtool.c net: infiniband/ulp/ipoib: convert to hw_features 2011-04-20 01:30:42 -07:00
ipoib_fs.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
ipoib_ib.c IPoIB: fix skb truesize underestimatiom 2012-07-10 23:33:12 -07:00
ipoib_main.c IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses 2012-02-08 18:26:54 -05:00
ipoib_multicast.c IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses 2012-02-08 18:26:54 -05:00
ipoib_verbs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ipoib_vlan.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00