lkml.org 
[lkml]   [2023]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v3 50/50] perf threads: Reduce table size from 256 to 8
    From
    The threads data structure is an array of hashmaps, previously
    rbtrees. The two levels allows for a fixed outer array where access is
    guarded by rw_semaphores. Commit 91e467bc568f ("perf machine: Use
    hashtable for machine threads") sized the outer table at 256 entries
    to avoid future scalability problems, however, this means the threads
    struct is sized at 30,720 bytes. As the hashmaps allow O(1) access for
    the common find/insert/remove operations, lower the number of entries
    to 8. This reduces the size overhead to 960 bytes.

    Signed-off-by: Ian Rogers <irogers@google.com>
    ---
    tools/perf/util/threads.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/perf/util/threads.h b/tools/perf/util/threads.h
    index d03bd91a7769..da68d2223f18 100644
    --- a/tools/perf/util/threads.h
    +++ b/tools/perf/util/threads.h
    @@ -7,7 +7,7 @@

    struct thread;

    -#define THREADS__TABLE_BITS 8
    +#define THREADS__TABLE_BITS 3
    #define THREADS__TABLE_SIZE (1 << THREADS__TABLE_BITS)

    struct threads_table_entry {
    --
    2.42.0.758.gaed0368e0e-goog
    \
     
     \ /
      Last update: 2023-10-25 00:33    [W:5.081 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site