perf tools: Increase MAX_NR_CPUS and MAX_CACHES
Attempting to profile 1024 or more CPUs with perf causes two errors: perf record -a [ perf record: Woken up X times to write data ] way too many cpu caches.. [ perf record: Captured and wrote X MB perf.data (X samples) ] perf report -C 1024 Error: failed to set cpu bitmap Requested CPU 1024 too large. Consider raising MAX_NR_CPUS Increasing MAX_NR_CPUS from 1024 to 2048 and redefining MAX_CACHES as MAX_NR_CPUS * 4 returns normal functionality to perf: perf record -a [ perf record: Woken up X times to write data ] [ perf record: Captured and wrote X MB perf.data (X samples) ] perf report -C 1024 ... Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20190620193630.154025-1-meyerk@stormcage.eag.rdlabs.hpecorp.net Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
eb5d854456
commit
9f94c7f947
@ -26,7 +26,7 @@ static inline unsigned long long rdclock(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef MAX_NR_CPUS
|
#ifndef MAX_NR_CPUS
|
||||||
#define MAX_NR_CPUS 1024
|
#define MAX_NR_CPUS 2048
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern const char *input_name;
|
extern const char *input_name;
|
||||||
|
@ -1121,7 +1121,7 @@ static int build_caches(struct cpu_cache_level caches[], u32 size, u32 *cntp)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MAX_CACHES 2000
|
#define MAX_CACHES (MAX_NR_CPUS * 4)
|
||||||
|
|
||||||
static int write_cache(struct feat_fd *ff,
|
static int write_cache(struct feat_fd *ff,
|
||||||
struct perf_evlist *evlist __maybe_unused)
|
struct perf_evlist *evlist __maybe_unused)
|
||||||
|
Loading…
Reference in New Issue
Block a user