RE: [PATCH] staging: zcache: reduce tmem bucket lock contention

From: Dan Magenheimer
Date: Mon Oct 03 2011 - 14:52:16 EST


> From: Seth Jennings [mailto:sjenning@xxxxxxxxxxxxxxxxxx]
> Sent: Thursday, September 29, 2011 8:32 AM
> To: gregkh@xxxxxxx
> Cc: cascardo@xxxxxxxxxxxxxx; Dan Magenheimer; rdunlap@xxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Seth Jennings
> Subject: [PATCH] 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.
>
> Based on v3.1-rc7
>
> Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxxxxxxxxxx>

Good catch Seth!

Acked-by: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/