]> git.baikalelectronics.ru Git - kernel.git/commit
xen-netback: remove unconditional __pskb_pull_tail() in guest Tx path
authorMalcolm Crossley <malcolm.crossley@citrix.com>
Wed, 5 Nov 2014 10:50:22 +0000 (10:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Nov 2014 19:40:18 +0000 (14:40 -0500)
commit08ec38ce457efab039eb18b129f650ad84fc3c0c
tree536746bc7043795210b9dd9fd4588dfcf2c37f5f
parent29f2ed6ab7529110ebd2617c8c6a833fb5cb0fc6
xen-netback: remove unconditional __pskb_pull_tail() in guest Tx path

Unconditionally pulling 128 bytes into the linear area is not required
for:

- security: Every protocol demux starts with pskb_may_pull() to pull
  frag data into the linear area, if necessary, before looking at
  headers.

- performance: Netback has already grant copied up-to 128 bytes from
  the first slot of a packet into the linear area. The first slot
  normally contain all the IPv4/IPv6 and TCP/UDP headers.

The unconditional pull would often copy frag data unnecessarily.  This
is a performance problem when running on a version of Xen where grant
unmap avoids TLB flushes for pages which are not accessed.  TLB
flushes can now be avoided for > 99% of unmaps (it was 0% before).

Grant unmap TLB flush avoidance will be available in a future version
of Xen (probably 4.6).

Signed-off-by: Malcolm Crossley <malcolm.crossley@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/netback.c