2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-26 07:35:44 +08:00
linux-next/drivers/staging/zcache
Seth Jennings 3d65c85f91 staging: zcache: reduce tmem bucket lock contention
tmem uses hash buckets each with their own rbtree and lock to
quickly lookup tmem objects.  tmem has TMEM_HASH_BUCKETS (256)
buckets per pool.  However, because of the way the tmem_oid is
generated for frontswap pages, only 16 unique tmem_oids are being
generated, resulting in only 16 of the 256 buckets being used.
This cause high lock contention for the per bucket locks.

This patch changes SWIZ_BITS to include more bits of the offset.
The result is that all 256 hash buckets are potentially used resulting in a
95% drop in hash bucket lock contention.

Signed-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:29:03 -06:00
..
Kconfig staging: zcache: misc build/config 2011-02-09 15:08:22 -08:00
Makefile staging: fix zcache building 2011-08-02 16:06:18 -07:00
tmem.c Staging: zcache: signedness bug in tmem_get() 2011-08-23 14:52:20 -07:00
tmem.h staging: zcache: support multiple clients, prep for KVM and RAMster 2011-07-08 14:18:53 -07:00
zcache-main.c staging: zcache: reduce tmem bucket lock contention 2011-10-12 09:29:03 -06:00