linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 00/11] mm: debug: formatting memory management structs
@ 2015-04-14 20:56 Sasha Levin
  2015-04-14 20:56 ` [RFC 01/11] mm: debug: format flags in a buffer Sasha Levin
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Sasha Levin @ 2015-04-14 20:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, kirill, linux-mm

This patch series adds knowledge about various memory management structures
to the standard print functions.

In essence, it allows us to easily print those structures:

	printk("%pZp %pZm %pZv", page, mm, vma);

This allows us to customize output when hitting bugs even further, thus
we introduce VM_BUG() which allows printing anything when hitting a bug
rather than just a single piece of information.

This also means we can get rid of VM_BUG_ON_* since they're now nothing
more than a format string.

Sasha Levin (11):
  mm: debug: format flags in a buffer
  mm: debug: deal with a new family of MM pointers
  mm: debug: dump VMA into a string rather than directly on screen
  mm: debug: dump struct MM into a string rather than directly on
    screen
  mm: debug: dump page into a string rather than directly on screen
  mm: debug: clean unused code
  mm: debug: VM_BUG()
  mm: debug: kill VM_BUG_ON_PAGE
  mm: debug: kill VM_BUG_ON_VMA
  mm: debug: kill VM_BUG_ON_MM
  mm: debug: use VM_BUG() to help with debug output

 arch/arm/mm/mmap.c               |    2 +-
 arch/frv/mm/elf-fdpic.c          |    4 +-
 arch/mips/mm/gup.c               |    4 +-
 arch/parisc/kernel/sys_parisc.c  |    2 +-
 arch/powerpc/mm/hugetlbpage.c    |    2 +-
 arch/powerpc/mm/pgtable_64.c     |    4 +-
 arch/s390/mm/gup.c               |    2 +-
 arch/s390/mm/mmap.c              |    2 +-
 arch/s390/mm/pgtable.c           |    6 +--
 arch/sh/mm/mmap.c                |    2 +-
 arch/sparc/kernel/sys_sparc_64.c |    4 +-
 arch/sparc/mm/gup.c              |    2 +-
 arch/sparc/mm/hugetlbpage.c      |    4 +-
 arch/tile/mm/hugetlbpage.c       |    2 +-
 arch/x86/kernel/sys_x86_64.c     |    2 +-
 arch/x86/mm/gup.c                |    8 ++--
 arch/x86/mm/hugetlbpage.c        |    2 +-
 arch/x86/mm/pgtable.c            |    6 +--
 include/linux/huge_mm.h          |    2 +-
 include/linux/hugetlb.h          |    2 +-
 include/linux/hugetlb_cgroup.h   |    4 +-
 include/linux/mm.h               |   22 ++++-----
 include/linux/mmdebug.h          |   40 ++++++----------
 include/linux/page-flags.h       |   26 +++++-----
 include/linux/pagemap.h          |   11 +++--
 include/linux/rmap.h             |    2 +-
 kernel/fork.c                    |    2 +-
 lib/vsprintf.c                   |   22 +++++++++
 mm/balloon_compaction.c          |    4 +-
 mm/cleancache.c                  |    6 +--
 mm/compaction.c                  |    2 +-
 mm/debug.c                       |   98 ++++++++++++++++++++------------------
 mm/filemap.c                     |   18 +++----
 mm/gup.c                         |   12 ++---
 mm/huge_memory.c                 |   50 +++++++++----------
 mm/hugetlb.c                     |   28 +++++------
 mm/hugetlb_cgroup.c              |    2 +-
 mm/internal.h                    |    8 ++--
 mm/interval_tree.c               |    2 +-
 mm/kasan/report.c                |    2 +-
 mm/ksm.c                         |   13 ++---
 mm/memcontrol.c                  |   48 +++++++++----------
 mm/memory.c                      |   10 ++--
 mm/memory_hotplug.c              |    2 +-
 mm/migrate.c                     |    6 +--
 mm/mlock.c                       |    4 +-
 mm/mmap.c                        |   15 +++---
 mm/mremap.c                      |    4 +-
 mm/page_alloc.c                  |   28 +++++------
 mm/page_io.c                     |    4 +-
 mm/pagewalk.c                    |    2 +-
 mm/pgtable-generic.c             |    8 ++--
 mm/rmap.c                        |   20 ++++----
 mm/shmem.c                       |   10 ++--
 mm/slub.c                        |    4 +-
 mm/swap.c                        |   39 +++++++--------
 mm/swap_state.c                  |   16 +++----
 mm/swapfile.c                    |    8 ++--
 mm/vmscan.c                      |   24 +++++-----
 59 files changed, 355 insertions(+), 335 deletions(-)

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-04-30 16:44 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-14 20:56 [RFC 00/11] mm: debug: formatting memory management structs Sasha Levin
2015-04-14 20:56 ` [RFC 01/11] mm: debug: format flags in a buffer Sasha Levin
2015-04-30 15:39   ` Kirill A. Shutemov
2015-04-14 20:56 ` [RFC 02/11] mm: debug: deal with a new family of MM pointers Sasha Levin
2015-04-30 16:17   ` Kirill A. Shutemov
2015-04-30 16:44     ` Sasha Levin
2015-04-14 20:56 ` [RFC 03/11] mm: debug: dump VMA into a string rather than directly on screen Sasha Levin
2015-04-30 16:18   ` Kirill A. Shutemov
2015-04-14 20:56 ` [RFC 04/11] mm: debug: dump struct MM " Sasha Levin
2015-04-14 20:56 ` [RFC 05/11] mm: debug: dump page " Sasha Levin
2015-04-14 20:56 ` [RFC 06/11] mm: debug: clean unused code Sasha Levin
2015-04-14 20:56 ` [RFC 07/11] mm: debug: VM_BUG() Sasha Levin
2015-04-30 16:22   ` Kirill A. Shutemov
2015-04-14 20:56 ` [RFC 08/11] mm: debug: kill VM_BUG_ON_PAGE Sasha Levin
2015-04-14 20:56 ` [RFC 09/11] mm: debug: kill VM_BUG_ON_VMA Sasha Levin
2015-04-14 20:56 ` [RFC 10/11] mm: debug: kill VM_BUG_ON_MM Sasha Levin
2015-04-14 20:56 ` [RFC 11/11] mm: debug: use VM_BUG() to help with debug output Sasha Levin
2015-04-15  8:45 ` [RFC 00/11] mm: debug: formatting memory management structs Kirill A. Shutemov
2015-04-15 12:52   ` Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).