Commit 2d8d0165 authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf lock contention: Update default map size to 16384



The BPF hash map will align the map size to a power of 2.  So 10k would
be 16k anyway.  Let's have the actual size to avoid confusions.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Acked-by: default avatarIan Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Hao Luo <haoluo@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <song@kernel.org>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20230406210611.1622492-2-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 84b91920
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -157,7 +157,8 @@ CONTENTION OPTIONS

-M::
--map-nr-entries=<value>::
	Maximum number of BPF map entries (default: 10240).
	Maximum number of BPF map entries (default: 16384).
	This will be aligned to a power of 2.

--max-stack=<value>::
	Maximum stack depth when collecting lock contention (default: 8).
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ static bool show_thread_stats;
static bool show_lock_addrs;
static bool show_lock_owner;
static bool use_bpf;
static unsigned long bpf_map_entries = 10240;
static unsigned long bpf_map_entries = MAX_ENTRIES;
static int max_stack_depth = CONTENTION_STACK_DEPTH;
static int stack_skip = CONTENTION_STACK_SKIP;
static int print_nr_entries = INT_MAX / 2;
+1 −4
Original line number Diff line number Diff line
@@ -7,9 +7,6 @@

#include "lock_data.h"

/* default buffer size */
#define MAX_ENTRIES  10240

/* for collect_lock_syms().  4096 was rejected by the verifier */
#define MAX_CPUS  1024

@@ -63,7 +60,7 @@ struct {
	__uint(type, BPF_MAP_TYPE_HASH);
	__uint(key_size, sizeof(__u64));
	__uint(value_size, sizeof(__u32));
	__uint(max_entries, 16384);
	__uint(max_entries, MAX_ENTRIES);
} lock_syms SEC(".maps");

struct {
+3 −0
Original line number Diff line number Diff line
@@ -15,6 +15,9 @@ struct contention_task_data {
	char comm[TASK_COMM_LEN];
};

/* default buffer size */
#define MAX_ENTRIES  16384

/*
 * Upper bits of the flags in the contention_data are used to identify
 * some well-known locks which do not have symbols (non-global locks).