Commit 2322f573 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

perf cpu_map: Add cpu_map__empty_new function

Adding cpu_map__empty_new interface to create empty cpumap with given
size. The cpumap entries are initialized with -1.

It'll be used for caching cpu_map in following patches.
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Tested-by: default avatarKan Liang <kan.liang@intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1445784728-21732-2-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent af339981
...@@ -203,6 +203,23 @@ struct cpu_map *cpu_map__dummy_new(void) ...@@ -203,6 +203,23 @@ struct cpu_map *cpu_map__dummy_new(void)
return cpus; return cpus;
} }
struct cpu_map *cpu_map__empty_new(int nr)
{
struct cpu_map *cpus = malloc(sizeof(*cpus) + sizeof(int) * nr);
if (cpus != NULL) {
int i;
cpus->nr = nr;
for (i = 0; i < nr; i++)
cpus->map[i] = -1;
atomic_set(&cpus->refcnt, 1);
}
return cpus;
}
static void cpu_map__delete(struct cpu_map *map) static void cpu_map__delete(struct cpu_map *map)
{ {
if (map) { if (map) {
......
...@@ -15,6 +15,7 @@ struct cpu_map { ...@@ -15,6 +15,7 @@ struct cpu_map {
}; };
struct cpu_map *cpu_map__new(const char *cpu_list); struct cpu_map *cpu_map__new(const char *cpu_list);
struct cpu_map *cpu_map__empty_new(int nr);
struct cpu_map *cpu_map__dummy_new(void); struct cpu_map *cpu_map__dummy_new(void);
struct cpu_map *cpu_map__read(FILE *file); struct cpu_map *cpu_map__read(FILE *file);
size_t cpu_map__fprintf(struct cpu_map *map, FILE *fp); size_t cpu_map__fprintf(struct cpu_map *map, FILE *fp);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment