linux/include
Hannes Frederic Sowa e5a2c89995 fast_hash: avoid indirect function calls
By default the arch_fast_hash hashing function pointers are initialized
to jhash(2). If during boot-up a CPU with SSE4.2 is detected they get
updated to the CRC32 ones. This dispatching scheme incurs a function
pointer lookup and indirect call for every hashing operation.

rhashtable as a user of arch_fast_hash e.g. stores pointers to hashing
functions in its structure, too, causing two indirect branches per
hashing operation.

Using alternative_call we can get away with one of those indirect branches.

Acked-by: Daniel Borkmann <dborkman@redhat.com>
Cc: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-05 22:01:21 -05:00
..
acpi ACPI and power management updates for 3.18-rc2 2014-10-24 11:29:31 -07:00
asm-generic fast_hash: avoid indirect function calls 2014-11-05 22:01:21 -05:00
clocksource
crypto
drm
dt-bindings ARM: i.MX6: Fix "emi" clock name typo 2014-10-25 20:01:09 +08:00
keys
kvm arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs 2014-10-16 10:57:41 +02:00
linux fast_hash: avoid indirect function calls 2014-11-05 22:01:21 -05:00
math-emu
media
memory
misc
net ipv6: move INET6_MATCH() to include/net/inet6_hashtables.h 2014-11-05 16:59:04 -05:00
pcmcia
ras
rdma
rxrpc
scsi Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd 2014-10-21 12:53:45 -07:00
soc/tegra
sound Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-10-18 18:11:04 -07:00
target
trace Merge branch 'urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent 2014-10-30 07:37:37 +01:00
uapi gue: TX support for using remote checksum offload option 2014-11-05 16:30:03 -05:00
video fbdev changes for 3.18 2014-10-18 18:03:02 -07:00
xen
Kbuild