powerpc/cacheinfo: Use cpumap_print to print cpumap
authorSrikar Dronamraju <srikar@linux.vnet.ibm.com>
Mon, 29 Jun 2020 10:37:01 +0000 (16:07 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 15 Jul 2020 01:07:19 +0000 (11:07 +1000)
Tejun Heo had modified shared_cpu_map_show() to use scnprintf instead
of cpumap_print during support for *pb[l] format. Refer commit
0c118b7bd09a ("powerpc: use %*pb[l] to print bitmaps including
cpumasks and nodemasks").

cpumap_print_to_pagebuf() is a standard function to print cpumap. With
commit 9cf79d115f0d ("bitmap: remove explicit newline handling using
scnprintf format string"), there is no need to print explicit newline
and trailing null character. cpumap_print_to_pagebuf() internally uses
scnprintf(). Hence replace scnprintf() with cpumap_print_to_pagebuf().

Note: shared_cpu_map_show() in drivers/base/cacheinfo.c already uses
cpumap_print_to_pagebuf().

Before this patch:
  # cat /sys/devices/system/cpu0/cache/index1/shared_cpu_map
  00ff

  #

(Notice the extra blank line).

After this patch:
  # cat /sys/devices/system/cpu0/cache/index1/shared_cpu_map
  00ff
  #

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200629103703.4538-2-srikar@linux.vnet.ibm.com
arch/powerpc/kernel/cacheinfo.c

index 4703362..0d3c45e 100644 (file)
@@ -652,7 +652,7 @@ static ssize_t shared_cpu_map_show(struct kobject *k, struct kobj_attribute *att
        struct cache_index_dir *index;
        struct cache *cache;
        const struct cpumask *mask;
-       int ret, cpu;
+       int cpu;
 
        index = kobj_to_cache_index_dir(k);
        cache = index->cache;
@@ -664,11 +664,7 @@ static ssize_t shared_cpu_map_show(struct kobject *k, struct kobj_attribute *att
                mask  = &cache->shared_cpu_map;
        }
 
-       ret = scnprintf(buf, PAGE_SIZE - 1, "%*pb\n",
-                       cpumask_pr_args(mask));
-       buf[ret++] = '\n';
-       buf[ret] = '\0';
-       return ret;
+       return cpumap_print_to_pagebuf(false, buf, mask);
 }
 
 static struct kobj_attribute cache_shared_cpu_map_attr =