Re: [PATCH] mm, debug: mm-introduce-vm_bug_on_mm-fix-fix.patch

From: Andrew Morton
Date: Tue Sep 23 2014 - 16:53:08 EST


On Tue, 23 Sep 2014 12:19:49 -0400 Valdis.Kletnieks@xxxxxx wrote:

> On Tue, 23 Sep 2014 13:28:48 +0200, Michal Hocko said:
> > And there is another one hitting during randconfig. The patch makes my
> > eyes bleed
>
> Amen. But I'm not seeing a better fix either.
>
> > #if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
> > - "tlb_flush_pending %d\n",
> > + "tlb_flush_pending %d\n"
> > #endif
> > - mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
> > + , mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
>
> I'm surprised that checkpatch doesn't explode on this. And I'm starting
> a pool on how soon somebody submits a patch to "fix" this. :)

It is all pretty godawful. We can eliminate the tricks with the comma
separators by adding an always-there, does-nothing argument:


--- a/mm/debug.c~mm-debug-mm-introduce-vm_bug_on_mm-fix-fixpatch-fix
+++ a/mm/debug.c
@@ -197,7 +197,9 @@ void dump_mm(const struct mm_struct *mm)
#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
"tlb_flush_pending %d\n"
#endif
- , mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
+ "%s", /* This is here to hold the comma */
+
+ mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
#ifdef CONFIG_MMU
mm->get_unmapped_area,
#endif
@@ -218,16 +220,17 @@ void dump_mm(const struct mm_struct *mm)
#ifdef CONFIG_MEMCG
mm->owner,
#endif
- mm->exe_file
+ mm->exe_file,
#ifdef CONFIG_MMU_NOTIFIER
- , mm->mmu_notifier_mm
+ mm->mmu_notifier_mm,
#endif
#ifdef CONFIG_NUMA_BALANCING
- , mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq
+ mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,
#endif
#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
- , mm->tlb_flush_pending
+ mm->tlb_flush_pending,
#endif
+ "" /* This is here to not have a comma! */
);

dump_flags(mm->def_flags, vmaflags_names,
_

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/