All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
To: Kyle Meyer <meyerk@hpe.com>
Cc: Kyle Meyer <kyle.meyer@hpe.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	linux-kernel@vger.kernel.org,
	Daniel Borkmann <daniel@iogearbox.net>
Subject: Re: [PATCH v1] Increase MAX_NR_CPUS and MAX_CACHES
Date: Mon, 24 Jun 2019 15:50:58 -0300	[thread overview]
Message-ID: <20190624185058.GC4181@kernel.org> (raw)
In-Reply-To: <20190620193630.154025-1-meyerk@stormcage.eag.rdlabs.hpecorp.net>

Em Thu, Jun 20, 2019 at 02:36:30PM -0500, Kyle Meyer escreveu:
> From: Kyle Meyer <kyle.meyer@hpe.com>
> 
> 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

So, I'm applying the tools/perf/ part, leaving the rest for Daniel do
consider, ok?

- Arnaldo

> ...
> 
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
> ---
>  samples/bpf/map_perf_test_kern.c | 2 +-
>  samples/bpf/map_perf_test_user.c | 2 +-
>  tools/perf/perf.h                | 2 +-
>  tools/perf/util/header.c         | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/samples/bpf/map_perf_test_kern.c b/samples/bpf/map_perf_test_kern.c
> index 2b2ffb97018b..342738a1e386 100644
> --- a/samples/bpf/map_perf_test_kern.c
> +++ b/samples/bpf/map_perf_test_kern.c
> @@ -11,7 +11,7 @@
>  #include "bpf_helpers.h"
>  
>  #define MAX_ENTRIES 1000
> -#define MAX_NR_CPUS 1024
> +#define MAX_NR_CPUS 2048
>  
>  struct bpf_map_def SEC("maps") hash_map = {
>  	.type = BPF_MAP_TYPE_HASH,
> diff --git a/samples/bpf/map_perf_test_user.c b/samples/bpf/map_perf_test_user.c
> index fe5564bff39b..da3c101ca776 100644
> --- a/samples/bpf/map_perf_test_user.c
> +++ b/samples/bpf/map_perf_test_user.c
> @@ -22,7 +22,7 @@
>  #include "bpf_load.h"
>  
>  #define TEST_BIT(t) (1U << (t))
> -#define MAX_NR_CPUS 1024
> +#define MAX_NR_CPUS 2048
>  
>  static __u64 time_get_ns(void)
>  {
> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
> index 711e009381ec..74d0124d38f3 100644
> --- a/tools/perf/perf.h
> +++ b/tools/perf/perf.h
> @@ -26,7 +26,7 @@ static inline unsigned long long rdclock(void)
>  }
>  
>  #ifndef MAX_NR_CPUS
> -#define MAX_NR_CPUS			1024
> +#define MAX_NR_CPUS			2048
>  #endif
>  
>  extern const char *input_name;
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index 06ddb6618ef3..abc9c2145efe 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -1121,7 +1121,7 @@ static int build_caches(struct cpu_cache_level caches[], u32 size, u32 *cntp)
>  	return 0;
>  }
>  
> -#define MAX_CACHES 2000
> +#define MAX_CACHES (MAX_NR_CPUS * 4)
>  
>  static int write_cache(struct feat_fd *ff,
>  		       struct perf_evlist *evlist __maybe_unused)
> -- 
> 2.12.3

-- 

- Arnaldo

  reply	other threads:[~2019-06-24 18:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-20 19:36 [PATCH v1] Increase MAX_NR_CPUS and MAX_CACHES Kyle Meyer
2019-06-24 18:50 ` Arnaldo Carvalho de Melo [this message]
2019-06-24 19:04   ` Jiri Olsa
2019-07-03 14:03 ` [tip:perf/core] perf tools: " tip-bot for Kyle Meyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190624185058.GC4181@kernel.org \
    --to=arnaldo.melo@gmail.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=daniel@iogearbox.net \
    --cc=jolsa@redhat.com \
    --cc=kyle.meyer@hpe.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=meyerk@hpe.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.