Thomas Gleixner 8d67743653 futex: Unbreak futex hashing
The recent futex inode life time fix changed the ordering of the futex key
union struct members, but forgot to adjust the hash function accordingly,

As a result the hashing omits the leading 64bit and even hashes beyond the
futex key causing a bad hash distribution which led to a ~100% performance
regression.

Hand in the futex key pointer instead of a random struct member and make
the size calculation based of the struct offset.

Fixes: 8019ad13ef7f ("futex: Fix inode life-time issue")
Reported-by: Rong Chen <rong.a.chen@intel.com>
Decoded-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Rong Chen <rong.a.chen@intel.com>
Link: https://lkml.kernel.org/r/87h7yy90ve.fsf@nanos.tec.linutronix.de
2020-03-09 22:33:09 +01:00
..
2019-11-27 11:42:01 -08:00
2020-02-28 11:43:30 -08:00
2019-12-18 18:07:31 +01:00
2019-07-08 18:55:42 -07:00
2020-01-03 11:17:14 -08:00
2020-01-29 19:56:50 -08:00
2020-03-09 22:33:09 +01:00
2020-02-09 16:05:50 -08:00
2019-12-04 19:44:14 -08:00
2020-01-08 16:32:55 +00:00
2019-05-24 20:16:01 +02:00
2020-01-14 12:20:48 +01:00
2019-12-11 16:37:02 +08:00
2020-01-13 21:49:36 +01:00
2019-12-04 15:18:39 +01:00
2019-12-18 18:07:31 +01:00
2019-07-08 19:36:47 -07:00
2019-07-08 19:36:47 -07:00