mm: introduce dump_page() and print symbolic flag names
Wu Fengguang authored
- introduce dump_page() to print the page info for debugging some error
  condition.

- convert three mm users: bad_page(), print_bad_pte() and memory offline
  failure.

- print an extra field: the symbolic names of page->flags

Example dump_page() output:

[  157.521694] page:ffffea0000a7cba8 count:2 mapcount:1 mapping:ffff88001c901791 index:0x147
[  157.525570] page flags: 0x100000000100068(uptodate|lru|active|swapbacked)
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Alex Chiang <achiang@hp.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Mel Gorman <mel@linux.vnet.ibm.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
718a3821
Name Last commit Last update
..
Kconfig Merge branch 'x86-bootmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
Kconfig.debug trivial: improve help text for mm debug config options
Makefile make generic_acl slightly more generic
backing-dev.c flusher: Fix PF_FROZEN race
bootmem.c x86: Make 64 bit use early_res instead of bootmem before slab
bounce.c block: remove some includings of blktrace_api.h
debug-pagealloc.c generic debug pagealloc
dmapool.c dmapools: protect page_list walk in show_pools()
fadvise.c readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM
failslab.c failslab: add ability to filter slab caches
filemap.c mm: use rlimit helpers
filemap_xip.c mm: clean up mm_counter
fremap.c mm: clean up mm_counter
highmem.c highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE
hugetlb.c Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
hwpoison-inject.c HWPOISON: Don't do early filtering if filter is disabled
init-mm.c mm: consolidate init_mm definition
internal.h HWPOISON: add an interface to switch off/on all the page filters
kmemcheck.c kmemcheck: add hooks for the page allocator
kmemleak-test.c percpu: clean up percpu variable definitions
kmemleak.c Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6
ksm.c mm: change anon_vma linking to fix multi-process server scalability issue
maccess.c maccess,probe_kernel: Allow arch specific override probe_kernel_(read|write)
madvise.c HWPOISON: Add a madvise() injector for soft page offlining
memcontrol.c mm/memcontrol.c: fix "integer as NULL pointer" sparse warning
memory-failure.c mm: change anon_vma linking to fix multi-process server scalability issue
memory.c mm: introduce dump_page() and print symbolic flag names
memory_hotplug.c mm: introduce dump_page() and print symbolic flag names
mempolicy.c mm/mempolicy.c: fix indentation of the comments of do_migrate_pages
mempool.c mm: remove broken 'kzalloc' mempool
migrate.c mm/migrate.c: kill anon local variable from migrate_page_copy
mincore.c mm: hugetlb: fix hugepage memory leak in mincore()
mlock.c mm: use rlimit helpers
mm_init.c mm: mminit_loglevel cannot be __meminitdata anymore
mmap.c mm: remove VM_LOCK_RMAP code
mmu_context.c mm: export use_mm/unuse_mm to modules
mmu_notifier.c ksm: add mmu_notifier set_pte_at_notify()
mmzone.c [ARM] Double check memmap is actually valid with a memmap has unexpected holes V2
mprotect.c perf: Do the big rename: Performance Counters -> Performance Events
mremap.c mm: change anon_vma linking to fix multi-process server scalability issue
msync.c [CVE-2009-0029] System call wrappers part 13
nommu.c nommu: get_user_pages(): pin last page on non-page-aligned start
oom_kill.c mm: clean up mm_counter
page-writeback.c writeback: remove unused nonblocking and congestion checks
page_alloc.c mm: introduce dump_page() and print symbolic flag names
page_cgroup.c memory hotplug: alloc page from other node in memory online
page_io.c swap: rework map_swap_page() again
page_isolation.c memory hotplug: fix page_zone() calculation in test_pages_isolated()
pagewalk.c mm hugetlb: add hugepage support to pagemap
percpu.c percpu: add __percpu sparse annotations to core kernel subsystems
prio_tree.c
quicklist.c
readahead.c
rmap.c
shmem.c
slab.c
slob.c
slub.c
sparse-vmemmap.c
sparse.c
swap.c
swap_state.c
swapfile.c
thrash.c
truncate.c
util.c
vmalloc.c
vmscan.c
vmstat.c