• Ian Rogers's avatar
    perf sharded_mutex: Introduce sharded_mutex · 0650b2b2
    Ian Rogers authored
    Per object mutexes may come with significant memory cost while a
    global mutex can suffer from unnecessary contention. A sharded mutex
    is a compromise where objects are hashed and then a particular mutex
    for the hash of the object used. Contention can be controlled by the
    number of shards.
    
    v2. Use hashmap.h's hash_bits in case of contention from alignment of
        objects.
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Andres Freund <andres@anarazel.de>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Yuan Can <yuancan@huawei.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Huacai Chen <chenhuacai@kernel.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Link: https://lore.kernel.org/r/20230615040715.2064350-1-irogers@google.comSigned-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    0650b2b2
Build 11 KB