Message ID | 20190221010819.92039-1-cai@lca.pw (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next] mm/debug: use lx% for atomic64_read() on ppc64le | expand |
Please ignore this patch. On 2/20/19 8:08 PM, Qian Cai wrote: > atomic64_read() on ppc64le returns "long int" while "long long" seems on > all other arches, so deal the special case for ppc64le. > > In file included from ./include/linux/printk.h:7, > from ./include/linux/kernel.h:15, > from mm/debug.c:9: > mm/debug.c: In function 'dump_mm': > ./include/linux/kern_levels.h:5:18: warning: format '%llx' expects > argument of type 'long long unsigned int', but argument 19 has type > 'long int' [-Wformat=] > #define KERN_SOH "\001" /* ASCII Start Of Header */ > ^~~~~~ > ./include/linux/kern_levels.h:8:20: note: in expansion of macro > 'KERN_SOH' > #define KERN_EMERG KERN_SOH "0" /* system is unusable */ > ^~~~~~~~ > ./include/linux/printk.h:297:9: note: in expansion of macro 'KERN_EMERG' > printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~~~~~ > mm/debug.c:133:2: note: in expansion of macro 'pr_emerg' > pr_emerg("mm %px mmap %px seqnum %llu task_size %lu\n" > ^~~~~~~~ > mm/debug.c:140:17: note: format string is defined here > "pinned_vm %llx data_vm %lx exec_vm %lx stack_vm %lx\n" > ~~~^ > %lx > > Fixes: 70f8a3ca68d3 ("mm: make mm->pinned_vm an atomic64 counter") > Signed-off-by: Qian Cai <cai@lca.pw> > --- > mm/debug.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/mm/debug.c b/mm/debug.c > index c0b31b6c3877..e4ec3d68833e 100644 > --- a/mm/debug.c > +++ b/mm/debug.c > @@ -137,7 +137,12 @@ void dump_mm(const struct mm_struct *mm) > "mmap_base %lu mmap_legacy_base %lu highest_vm_end %lu\n" > "pgd %px mm_users %d mm_count %d pgtables_bytes %lu map_count %d\n" > "hiwater_rss %lx hiwater_vm %lx total_vm %lx locked_vm %lx\n" > - "pinned_vm %llx data_vm %lx exec_vm %lx stack_vm %lx\n" > +#ifdef __powerpc64__ > + "pinned_vm %lx " > +#else > + "pinned_vm %llx " > +#endif > + "data_vm %lx exec_vm %lx stack_vm %lx\n" > "start_code %lx end_code %lx start_data %lx end_data %lx\n" > "start_brk %lx brk %lx start_stack %lx\n" > "arg_start %lx arg_end %lx env_start %lx env_end %lx\n" >
diff --git a/mm/debug.c b/mm/debug.c index c0b31b6c3877..e4ec3d68833e 100644 --- a/mm/debug.c +++ b/mm/debug.c @@ -137,7 +137,12 @@ void dump_mm(const struct mm_struct *mm) "mmap_base %lu mmap_legacy_base %lu highest_vm_end %lu\n" "pgd %px mm_users %d mm_count %d pgtables_bytes %lu map_count %d\n" "hiwater_rss %lx hiwater_vm %lx total_vm %lx locked_vm %lx\n" - "pinned_vm %llx data_vm %lx exec_vm %lx stack_vm %lx\n" +#ifdef __powerpc64__ + "pinned_vm %lx " +#else + "pinned_vm %llx " +#endif + "data_vm %lx exec_vm %lx stack_vm %lx\n" "start_code %lx end_code %lx start_data %lx end_data %lx\n" "start_brk %lx brk %lx start_stack %lx\n" "arg_start %lx arg_end %lx env_start %lx env_end %lx\n"
atomic64_read() on ppc64le returns "long int" while "long long" seems on all other arches, so deal the special case for ppc64le. In file included from ./include/linux/printk.h:7, from ./include/linux/kernel.h:15, from mm/debug.c:9: mm/debug.c: In function 'dump_mm': ./include/linux/kern_levels.h:5:18: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 19 has type 'long int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^~~~~~ ./include/linux/kern_levels.h:8:20: note: in expansion of macro 'KERN_SOH' #define KERN_EMERG KERN_SOH "0" /* system is unusable */ ^~~~~~~~ ./include/linux/printk.h:297:9: note: in expansion of macro 'KERN_EMERG' printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~ mm/debug.c:133:2: note: in expansion of macro 'pr_emerg' pr_emerg("mm %px mmap %px seqnum %llu task_size %lu\n" ^~~~~~~~ mm/debug.c:140:17: note: format string is defined here "pinned_vm %llx data_vm %lx exec_vm %lx stack_vm %lx\n" ~~~^ %lx Fixes: 70f8a3ca68d3 ("mm: make mm->pinned_vm an atomic64 counter") Signed-off-by: Qian Cai <cai@lca.pw> --- mm/debug.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)