Files
linux-st/include/linux
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
..
2014-09-22 16:48:47 +09:00
2012-12-02 00:05:12 +00:00
2009-04-01 08:59:23 -07:00
2011-03-11 14:25:50 +00:00
2008-06-06 11:29:10 -07:00
2014-10-14 09:00:44 -06:00
2009-01-04 13:33:20 -08:00
2009-11-20 20:13:39 +01:00
2013-11-15 09:32:21 +09:00
2014-10-21 00:51:01 +02:00
2014-08-01 22:35:55 +08:00
2010-08-04 11:00:45 +02:00
2012-02-20 19:46:36 +11:00
2007-02-09 17:39:36 -05:00
2008-01-28 23:21:18 +01:00
2014-01-16 10:23:02 +10:30
2013-04-29 18:28:40 -07:00
2014-04-01 23:19:14 -04:00
2014-09-26 15:05:15 -04:00
2014-10-24 00:14:39 +02:00
2009-06-18 13:04:05 -07:00
2014-02-20 14:54:28 +01:00
2010-02-09 11:13:56 +01:00
2010-03-07 22:17:09 +01:00
2014-09-25 16:07:15 +02:00
2014-06-06 16:08:13 -07:00
2008-08-02 18:36:10 +01:00
2005-04-16 15:20:36 -07:00
2014-09-01 13:48:59 +02:00
2010-10-07 14:08:55 +01:00
2013-04-30 17:04:06 -07:00
2013-08-28 21:35:14 -07:00
2011-09-16 19:20:20 -04:00
2014-10-14 02:18:13 +02:00
2014-05-27 17:38:11 -07:00
2013-12-26 13:29:35 -05:00
2014-10-09 22:25:58 -04:00
2014-10-09 22:25:57 -04:00
2014-10-24 00:14:36 +02:00
2014-01-27 21:02:39 -08:00
2014-04-01 23:19:10 -04:00
2014-01-25 03:14:05 -05:00
2012-12-11 17:22:27 -08:00
2014-07-09 14:58:37 +01:00
2014-08-26 13:45:56 -04:00
2011-11-02 16:07:02 -07:00
2011-03-31 11:26:23 -03:00
2010-02-10 17:47:17 -08:00
2013-07-03 16:08:05 -07:00
2013-06-17 16:38:57 -07:00
2013-12-19 19:09:38 -05:00
2013-09-10 18:56:32 -04:00
2014-02-15 11:55:28 -08:00
2014-02-17 15:01:37 -08:00
2013-04-30 15:50:12 +05:30
2014-08-08 15:57:24 -07:00
2014-10-29 15:05:15 -04:00
2012-08-21 16:28:31 +02:00
2012-10-09 16:22:32 +09:00
2010-11-29 08:55:25 +11:00
2014-08-08 15:57:22 -07:00
2014-04-07 16:35:53 -07:00
2014-06-04 16:53:57 -07:00
2011-01-13 08:03:24 -08:00