perf mmap: Introduce mmap_cpu_mask__duplicate()

This patch adds a new function in util/mmap.c to duplicate a mmap_cpu_mask.

This new function will be used in patches in the workqueue patchkit.

Signed-off-by: Riccardo Mancini <rickyman7@gmail.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/8943a548ef7a3dd3e015095afad7e9a8b2154c05.1629490974.git.rickyman7@gmail.com
[ bitmap_alloc() was renamed to bitmap_zalloc() ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Riccardo Mancini 2021-08-21 11:19:10 +02:00 committed by Arnaldo Carvalho de Melo
parent 73e40c9bd4
commit 6bd006c6eb
2 changed files with 14 additions and 0 deletions

View File

@ -350,3 +350,14 @@ int perf_mmap__push(struct mmap *md, void *to,
out:
return rc;
}
int mmap_cpu_mask__duplicate(struct mmap_cpu_mask *original, struct mmap_cpu_mask *clone)
{
clone->nbits = original->nbits;
clone->bits = bitmap_zalloc(original->nbits);
if (!clone->bits)
return -ENOMEM;
memcpy(clone->bits, original->bits, MMAP_CPU_MASK_BYTES(original));
return 0;
}

View File

@ -64,4 +64,7 @@ size_t mmap__mmap_len(struct mmap *map);
void mmap_cpu_mask__scnprintf(struct mmap_cpu_mask *mask, const char *tag);
int mmap_cpu_mask__duplicate(struct mmap_cpu_mask *original,
struct mmap_cpu_mask *clone);
#endif /*__PERF_MMAP_H */