mm: meminit: remove mminit_verify_page_links
mminit_verify_page_links() is an extremely paranoid check that was introduced when memory initialisation was being heavily reworked. Profiles indicated that up to 10% of parallel memory initialisation was spent on checking this for every page. The cost could be reduced but in practice this check only found problems very early during the initialisation rewrite and has found nothing since. This patch removes an expensive unnecessary check. Signed-off-by: Mel Gorman <mgorman@suse.de> Tested-by: Nate Zimmer <nzimmer@sgi.com> Tested-by: Waiman Long <waiman.long@hp.com> Tested-by: Daniel J Blueman <daniel@numascale.com> Acked-by: Pekka Enberg <penberg@kernel.org> Cc: Robin Holt <robinmholt@gmail.com> Cc: Nate Zimmer <nzimmer@sgi.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Scott Norton <scott.norton@hp.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ac5d2539b2
commit
74033a798f
|
@ -362,10 +362,7 @@ do { \
|
|||
} while (0)
|
||||
|
||||
extern void mminit_verify_pageflags_layout(void);
|
||||
extern void mminit_verify_page_links(struct page *page,
|
||||
enum zone_type zone, unsigned long nid, unsigned long pfn);
|
||||
extern void mminit_verify_zonelist(void);
|
||||
|
||||
#else
|
||||
|
||||
static inline void mminit_dprintk(enum mminit_level level,
|
||||
|
@ -377,11 +374,6 @@ static inline void mminit_verify_pageflags_layout(void)
|
|||
{
|
||||
}
|
||||
|
||||
static inline void mminit_verify_page_links(struct page *page,
|
||||
enum zone_type zone, unsigned long nid, unsigned long pfn)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void mminit_verify_zonelist(void)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -131,14 +131,6 @@ void __init mminit_verify_pageflags_layout(void)
|
|||
BUG_ON(or_mask != add_mask);
|
||||
}
|
||||
|
||||
void __meminit mminit_verify_page_links(struct page *page, enum zone_type zone,
|
||||
unsigned long nid, unsigned long pfn)
|
||||
{
|
||||
BUG_ON(page_to_nid(page) != nid);
|
||||
BUG_ON(page_zonenum(page) != zone);
|
||||
BUG_ON(page_to_pfn(page) != pfn);
|
||||
}
|
||||
|
||||
static __init int set_mminit_loglevel(char *str)
|
||||
{
|
||||
get_option(&str, &mminit_loglevel);
|
||||
|
|
|
@ -839,7 +839,6 @@ static void __meminit __init_single_page(struct page *page, unsigned long pfn,
|
|||
unsigned long zone, int nid)
|
||||
{
|
||||
set_page_links(page, zone, nid, pfn);
|
||||
mminit_verify_page_links(page, zone, nid, pfn);
|
||||
init_page_count(page);
|
||||
page_mapcount_reset(page);
|
||||
page_cpupid_reset_last(page);
|
||||
|
|
Loading…
Reference in New Issue