Skip to content

Commit 74033a7

Browse files
Mel Gormantorvalds
authored andcommitted
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>
1 parent ac5d253 commit 74033a7

File tree

3 files changed

+0
-17
lines changed

3 files changed

+0
-17
lines changed

mm/internal.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -362,10 +362,7 @@ do { \
362362
} while (0)
363363

364364
extern void mminit_verify_pageflags_layout(void);
365-
extern void mminit_verify_page_links(struct page *page,
366-
enum zone_type zone, unsigned long nid, unsigned long pfn);
367365
extern void mminit_verify_zonelist(void);
368-
369366
#else
370367

371368
static inline void mminit_dprintk(enum mminit_level level,
@@ -377,11 +374,6 @@ static inline void mminit_verify_pageflags_layout(void)
377374
{
378375
}
379376

380-
static inline void mminit_verify_page_links(struct page *page,
381-
enum zone_type zone, unsigned long nid, unsigned long pfn)
382-
{
383-
}
384-
385377
static inline void mminit_verify_zonelist(void)
386378
{
387379
}

mm/mm_init.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -131,14 +131,6 @@ void __init mminit_verify_pageflags_layout(void)
131131
BUG_ON(or_mask != add_mask);
132132
}
133133

134-
void __meminit mminit_verify_page_links(struct page *page, enum zone_type zone,
135-
unsigned long nid, unsigned long pfn)
136-
{
137-
BUG_ON(page_to_nid(page) != nid);
138-
BUG_ON(page_zonenum(page) != zone);
139-
BUG_ON(page_to_pfn(page) != pfn);
140-
}
141-
142134
static __init int set_mminit_loglevel(char *str)
143135
{
144136
get_option(&str, &mminit_loglevel);

mm/page_alloc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,6 @@ static void __meminit __init_single_page(struct page *page, unsigned long pfn,
839839
unsigned long zone, int nid)
840840
{
841841
set_page_links(page, zone, nid, pfn);
842-
mminit_verify_page_links(page, zone, nid, pfn);
843842
init_page_count(page);
844843
page_mapcount_reset(page);
845844
page_cpupid_reset_last(page);

0 commit comments

Comments
 (0)