On Thu 09-01-14 15:32:59, Han Pingtian wrote: [...] > From b8db4f157a17d6d8652cc9cff024a192c3ee0779 Mon Sep 17 00:00:00 2001 > From: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> > Date: Thu, 9 Jan 2014 15:24:26 +0800 > Subject: [PATCH] mm: show message when raising min_free_kbytes in THP > > min_free_kbytes may be raised during THP's initialization. Sometimes, > this will change the value being set by user. Showing message will > clarify this confusion. > > Only show this message when changing the value set by user according to > Michal Hocko's suggestion. > > Showing the old value of min_free_kbytes according to Dave Hansen's > suggestion. This will give user the chance to restore old value of > min_free_kbytes. > > Signed-off-by: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Looks good to me Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Thanks! > --- > mm/huge_memory.c | 9 ++++++++- > mm/page_alloc.c | 2 +- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 7de1bf8..e0e4e29 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -100,6 +100,7 @@ static struct khugepaged_scan khugepaged_scan = { > .mm_head = LIST_HEAD_INIT(khugepaged_scan.mm_head), > }; > > +extern int user_min_free_kbytes; > > static int set_recommended_min_free_kbytes(void) > { > @@ -130,8 +131,14 @@ static int set_recommended_min_free_kbytes(void) > (unsigned long) nr_free_buffer_pages() / 20); > recommended_min <<= (PAGE_SHIFT-10); > > - if (recommended_min > min_free_kbytes) > + if (recommended_min > min_free_kbytes) { > + if (user_min_free_kbytes >= 0) > + pr_info("raising min_free_kbytes from %d to %lu " > + "to help transparent hugepage allocations\n", > + min_free_kbytes, recommended_min); > + > min_free_kbytes = recommended_min; > + } > setup_per_zone_wmarks(); > return 0; > } > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 9ea62b2..a9dcfd8 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -205,7 +205,7 @@ static char * const zone_names[MAX_NR_ZONES] = { > }; > > int min_free_kbytes = 1024; > -int user_min_free_kbytes; > +int user_min_free_kbytes = -1; > > static unsigned long __meminitdata nr_kernel_pages; > static unsigned long __meminitdata nr_all_pages; > -- > 1.7.7.6 > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>