Jesper Dangaard Brouer
8a4683a5e0
net: help compiler generate better code in eth_get_headlen
...
Noticed that the compiler (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC))
generated suboptimal assembler code in eth_get_headlen().
This early return coding style is usually not an issue, on super scalar CPUs,
but the compiler choose to put the return statement after this very unlikely
branch, thus creating larger jump down to the likely code path.
Performance wise, I could measure slightly less L1-icache-load-misses
and less branch-misses, and an improvement of 1 nanosec with an IP-forwarding
use-case with 257 bytes packets with ixgbe (CPU i7-4790K @ 4.00GHz).
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-09-28 22:51:15 -07:00
..
6lowpan
ieee820154: 6lowpan: dispatch evaluation rework
2015-09-17 13:20:03 +02:00
9p
net/9p: Remove ib_get_dma_mr calls
2015-08-30 18:12:36 -04:00
802
8021q
net: 8021q: convert to using IFF_NO_QUEUE
2015-08-18 11:55:06 -07:00
appletalk
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
atm
atm: deal with setting entry before mkip was called
2015-09-17 22:13:32 -07:00
ax25
NET: AX.25: Stop heartbeat timer on disconnect.
2015-07-15 15:59:58 -07:00
batman-adv
batman-adv: turn batadv_neigh_node_get() into local function
2015-08-27 20:15:34 +02:00
bluetooth
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
bridge
bridge: Allow forward delay to be cfgd when STP enabled
2015-09-27 19:09:38 -07:00
caif
net: caif: convert to using IFF_NO_QUEUE
2015-08-18 11:55:07 -07:00
can
can: replace timestamp as unique skb attribute
2015-07-12 21:13:22 +02:00
ceph
libceph: don't access invalid memory in keepalive2 path
2015-09-17 20:14:15 +03:00
core
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
dcb
dccp
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
decnet
netfilter: Pass priv instead of nf_hook_ops to netfilter hooks
2015-09-18 22:00:16 +02:00
dns_resolver
dsa
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
ethernet
net: help compiler generate better code in eth_get_headlen
2015-09-28 22:51:15 -07:00
hsr
net: hsr: convert to using IFF_NO_QUEUE
2015-08-18 11:55:07 -07:00
ieee802154
ieee802154: 6lowpan: use correct ESC value for dispatch
2015-09-17 13:20:04 +02:00
ipv4
tcp: Fix CWV being too strict on thin streams
2015-09-28 22:36:30 -07:00
ipv6
net: Remove redundant oif checks in rt6_device_match
2015-09-28 22:30:24 -07:00
ipx
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
irda
irda: use msecs_to_jiffies for conversion to jiffies
2015-05-25 17:46:21 -04:00
iucv
s390/iucv: do not use arrays as argument
2015-09-21 16:03:04 -07:00
key
net: Fix RCU splat in af_key
2015-08-24 14:48:10 -07:00
l2tp
l2tp: auto load IP modules
2015-09-25 12:27:22 -07:00
lapb
llc
tcp: fix recv with flags MSG_WAITALL | MSG_PEEK
2015-07-27 01:06:53 -07:00
mac80211
mac80211: reset CQM history upon reconfiguration
2015-09-22 15:22:50 +02:00
mac802154
ieee802154: add ack request default handling
2015-08-10 20:43:06 +02:00
mpls
mpls: fix mpls_net_init memory leak
2015-08-31 12:45:09 -07:00
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
netlabel
netlink: implement nla_put_in_addr and nla_put_in6_addr
2015-03-31 13:58:35 -04:00
netlink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
netrom
netfilter: Remove spurios included of netfilter.h
2015-06-18 21:14:32 +02:00
nfc
nfc: netlink: Add capability to reply to vendor_cmd with data
2015-08-20 22:00:11 +02:00
openvswitch
vxlan: support both IPv4 and IPv6 sockets in a single vxlan device
2015-09-26 22:40:55 -07:00
packet
Fix AF_PACKET ABI breakage in 4.2
2015-09-23 14:33:55 -07:00
phonet
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
rds
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-10 13:53:15 -07:00
rfkill
rfkill: Copy "all" global state to other types
2015-09-04 14:26:56 +02:00
rose
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-06-24 02:58:51 -07:00
rxrpc
rxrpc: Replace get_seconds with ktime_get_seconds
2015-09-20 21:53:56 -07:00
sched
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-09-26 16:08:27 -07:00
sctp
sctp: fix race on protocol/netns initialization
2015-09-11 15:00:02 -07:00
sunrpc
NFS client bugfixes for Linux 4.3
2015-09-25 11:33:52 -07:00
switchdev
switchdev: reduce transaction phase enum down to a boolean
2015-09-24 22:59:22 -07:00
tipc
tipc: reinitialize pointer after skb linearize
2015-09-20 22:31:20 -07:00
unix
net/unix: support SCM_SECURITY for stream sockets
2015-06-10 22:49:20 -07:00
vmw_vsock
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
wimax
net:wimax: Fix doucble word "the the" in networking.xml
2015-08-09 22:43:52 -07:00
wireless
cfg80211: regulatory: restore proper user alpha2
2015-09-04 14:29:25 +02:00
x25
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
xfrm
inet: constify ip_route_output_flow() socket argument
2015-09-25 13:00:37 -07:00
compat.c
net: switch importing msghdr from userland to {compat_,}import_iovec()
2015-04-09 00:02:26 -04:00
Kconfig
lwtunnel: infrastructure for handling light weight tunnels like mpls
2015-07-21 10:39:03 -07:00
Makefile
socket.c
net: Add a struct net parameter to sock_create_kern
2015-05-11 10:50:17 -04:00
sysctl_net.c