From: Jiri Olsa <jolsa@redhat.com>
To: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>, Andi Kleen <ak@linux.intel.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 2/3] perf mmap: declare type for cpu mask of arbitrary length
Date: Fri, 29 Nov 2019 14:09:46 +0100 [thread overview]
Message-ID: <20191129130946.GC14169@krava> (raw)
In-Reply-To: <446c4345-cb20-d0ad-3b3d-b34683b1c1e0@linux.intel.com>
On Fri, Nov 29, 2019 at 01:04:37PM +0300, Alexey Budankov wrote:
>
> Declare a dedicated struct map_cpu_mask type for cpu masks of
> arbitrary length. Mask is available thru bits pointer and the
> mask length is kept in nbits field. MMAP_CPU_MASK_BYTES() macro
> returns mask storage size in bytes. perf_mmap__print_cpu_mask()
> function can be used to log text representation of the mask.
>
> Signed-off-by: Alexey Budankov <alexey.budankov@linux.intel.com>
> ---
> tools/perf/util/mmap.c | 12 ++++++++++++
> tools/perf/util/mmap.h | 11 +++++++++++
> 2 files changed, 23 insertions(+)
>
> diff --git a/tools/perf/util/mmap.c b/tools/perf/util/mmap.c
> index 063d1b93c53d..30ff7aef06f2 100644
> --- a/tools/perf/util/mmap.c
> +++ b/tools/perf/util/mmap.c
> @@ -23,6 +23,18 @@
> #include "mmap.h"
> #include "../perf.h"
> #include <internal/lib.h> /* page_size */
> +#include <linux/bitmap.h>
> +
> +#define MASK_SIZE 1023
> +void perf_mmap__print_cpu_mask(struct mmap_cpu_mask *mask, const char *tag)
'mmap_cpu_mask__scnprintf' name follows the name logic we try to use
jirka
> +{
> + char buf[MASK_SIZE + 1];
> + size_t len;
> +
> + len = bitmap_scnprintf(mask->bits, mask->nbits, buf, MASK_SIZE);
> + buf[len] = '\0';
> + pr_debug("%p: %s mask[%ld]: %s\n", mask, tag, mask->nbits, buf);
> +}
>
> size_t mmap__mmap_len(struct mmap *map)
> {
> diff --git a/tools/perf/util/mmap.h b/tools/perf/util/mmap.h
> index bee4e83f7109..598e2def8a48 100644
> --- a/tools/perf/util/mmap.h
> +++ b/tools/perf/util/mmap.h
> @@ -15,6 +15,15 @@
> #include "event.h"
>
> struct aiocb;
> +
> +struct mmap_cpu_mask {
> + unsigned long *bits;
> + size_t nbits;
> +};
> +
> +#define MMAP_CPU_MASK_BYTES(m) \
> + (BITS_TO_LONGS(((struct mmap_cpu_mask *)m)->nbits) * sizeof(unsigned long))
> +
> /**
> * struct mmap - perf's ring buffer mmap details
> *
> @@ -52,4 +61,6 @@ int perf_mmap__push(struct mmap *md, void *to,
>
> size_t mmap__mmap_len(struct mmap *map);
>
> +void perf_mmap__print_cpu_mask(struct mmap_cpu_mask *mask, const char *tag);
> +
> #endif /*__PERF_MMAP_H */
> --
> 2.20.1
>
next prev parent reply other threads:[~2019-11-29 13:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-29 10:01 [PATCH v3 0/3] perf record: adapt NUMA awareness to machines with #CPUs > 1K Alexey Budankov
2019-11-29 10:02 ` [PATCH v3 1/3] tools bitmap: implement bitmap_equal() operation at bitmap API Alexey Budankov
2019-11-29 10:04 ` [PATCH v3 2/3] perf mmap: declare type for cpu mask of arbitrary length Alexey Budankov
2019-11-29 13:09 ` Jiri Olsa [this message]
2019-11-29 15:43 ` Alexey Budankov
2019-11-29 10:05 ` [PATCH v3 3/3] perf record: adapt affinity to machines with #CPUs > 1K Alexey Budankov
2019-11-29 13:07 ` Jiri Olsa
2019-11-29 15:49 ` Alexey Budankov
-- strict thread matches above, loose matches on Subject: below --
2019-11-26 11:15 [PATCH v3 0/3] perf record: adapt NUMA awareness " Alexey Budankov
2019-11-26 11:21 ` [PATCH v3 2/3] perf mmap: declare type for cpu mask of arbitrary length Alexey Budankov
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=20191129130946.GC14169@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=alexey.budankov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--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.