Skip to content

Commit

Permalink
kexec: save PG_head_mask in VMCOREINFO
Browse files Browse the repository at this point in the history
To allow filtering of huge pages, makedumpfile must be able to identify
them in the dump.  This can be done by checking the appropriate page
flag, so communicate its value to makedumpfile through the VMCOREINFO
interface.

There's only one small catch.  Depending on how many page flags are
available on a given architecture, this bit can be called PG_head or
PG_compound.

I sent a similar patch back in 2012, but Eric Biederman did not like
using an #ifdef.  So, this time I'm adding a common symbol
(PG_head_mask) instead.

See https://lkml.org/lkml/2012/11/28/91 for the previous version.

Signed-off-by: Petr Tesarik <[email protected]>
Acked-by: Vivek Goyal <[email protected]>
Cc: Eric Biederman <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Fengguang Wu <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Shaohua Li <[email protected]>
Cc: Alexey Kardashevskiy <[email protected]>
Cc: Sasha Levin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Petr Tesarik authored and torvalds committed Jun 23, 2014
1 parent 8d056c4 commit b3acc56
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
3 changes: 3 additions & 0 deletions include/linux/page-flags.h
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,9 @@ static inline void ClearPageCompound(struct page *page)
ClearPageHead(page);
}
#endif

#define PG_head_mask ((1L << PG_head))

#else
/*
* Reduce page flag use as much as possible by overlapping
Expand Down
1 change: 1 addition & 0 deletions kernel/kexec.c
Original file line number Diff line number Diff line change
Expand Up @@ -1617,6 +1617,7 @@ static int __init crash_save_vmcoreinfo_init(void)
#ifdef CONFIG_MEMORY_FAILURE
VMCOREINFO_NUMBER(PG_hwpoison);
#endif
VMCOREINFO_NUMBER(PG_head_mask);
VMCOREINFO_NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE);

arch_crash_save_vmcoreinfo();
Expand Down

0 comments on commit b3acc56

Please sign in to comment.