OSDN Git Service

perf affinity: Allow passing a NULL arg to affinity__cleanup()
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 17 Jan 2022 16:09:28 +0000 (13:09 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 18 Jan 2022 12:24:58 +0000 (09:24 -0300)
Just like with free(), NULL is checked to avoid having all callers do
it.

Its convenient for when not using affinity setup/cleanup for dummy CPU
maps, i.e. CPU maps for pid targets.

Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20220117160931.1191712-2-acme@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/affinity.c

index f1e30d5..4d216c0 100644 (file)
@@ -62,7 +62,7 @@ void affinity__set(struct affinity *a, int cpu)
        clear_bit(cpu, a->sched_cpus);
 }
 
-void affinity__cleanup(struct affinity *a)
+static void __affinity__cleanup(struct affinity *a)
 {
        int cpu_set_size = get_cpu_set_size();
 
@@ -71,3 +71,9 @@ void affinity__cleanup(struct affinity *a)
        zfree(&a->sched_cpus);
        zfree(&a->orig_cpus);
 }
+
+void affinity__cleanup(struct affinity *a)
+{
+       if (a != NULL)
+               __affinity__cleanup(a);
+}