summaryrefslogtreecommitdiffstats
path: root/lib/cpu-notifier-error-inject.c
diff options
context:
space:
mode:
authorHannes Frederic Sowa <hannes@stressinduktion.org>2014-11-05 00:23:04 +0100
committerDavid S. Miller <davem@davemloft.net>2014-11-05 22:01:21 -0500
commite5a2c899957659cd1a9f789bc462f9c0b35f5150 (patch)
tree4c9b8a6f89d961daf9ada9f5ee95f8b371ce3a04 /lib/cpu-notifier-error-inject.c
parent2c99cd914d4fed9160d98849c9dd38034616768e (diff)
downloadblackbird-op-linux-e5a2c899957659cd1a9f789bc462f9c0b35f5150.tar.gz
blackbird-op-linux-e5a2c899957659cd1a9f789bc462f9c0b35f5150.zip
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>
Diffstat (limited to 'lib/cpu-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud