restore user defined min_free_kbytes when disabling thp
Subsystems (2)
RFC 1/1 restore user defined min_free_kbytes when disabling thp
The testcase 'thp04' of LTP will enable THP, do some testing, then disable it if it wasn't enabled. But this will leave a different value of min_free_kbytes if it has been set by admin. So I think it's better to restore the user defined value after disabling THP.
---
thp increases the value of min_free_kbytes in initialization. This will change the user defined value of min_free_kbytes. So try to restore the value when disabling thp.
--- mm/huge_memory.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
mm/huge_memory.c +9 -0
@@ -164,6 +164,15 @@ static int start_khugepaged(void) }else if (khugepaged_thread) {kthread_stop (khugepaged_thread); khugepaged_thread =NULL ; + +if (user_min_free_kbytes >=0 ) { +pr_info ("restore min_free_kbytes from %d to user " +"defined %d when stopping khugepaged\n" , + min_free_kbytes, user_min_free_kbytes); + + min_free_kbytes = user_min_free_kbytes; +setup_per_zone_wmarks (); + } }return err;
Signature · 7 lines
1.7.7.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 5 lines · Han Pingtian
The testcase 'thp04' of LTP will enable THP, do some testing, then disable it if it wasn't enabled. But this will leave a different value of
min_free_kbytesif it has been set by admin. So I think it's better to restore the user defined value after disabling THP.
Then have LTP record what min_free_kbytes was at the same time THP was enabled by the test and restore both settings. It leaves a window where an admin can set an alternative value during the test but that would also invalidate the test in same cases and gets filed under "don't do that".
Signature · 8 lines
Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 7 lines · Mel Gorman
Quoted 5 lines · Han Pingtian
The testcase 'thp04' of LTP will enable THP, do some testing, then disable it if it wasn't enabled. But this will leave a different value of
min_free_kbytesif it has been set by admin. So I think it's better to restore the user defined value after disabling THP.
Quoted 5 lines
Then have LTP record what
min_free_kbyteswas at the same time THP was enabled by the test and restore both settings. It leaves a window where an admin can set an alternative value during the test but that would also invalidate the test in same cases and gets filed under "don't do that".
Because the value is changed in kernel, so it would be better to restore it in kernel, right? :) I have a v2 patch which will restore the value only if it isn't set again by user after THP's initialization. This v2 patch is dependent on the patch 'mm: show message when updating min_free_kbytes in thp' which has been added to -mm tree, can be found here:
http://ozlabs.org/~akpm/mmotm/broken-out/mm-show-message-when-updating-min_free_kbytes-in-thp.patch
please have a look. Thanks.
Quoted 14 lines · Han Pingtian
Quoted 7 lines · Mel Gorman
Quoted 5 lines · Han Pingtian
The testcase 'thp04' of LTP will enable THP, do some testing, then disable it if it wasn't enabled. But this will leave a different value of
min_free_kbytesif it has been set by admin. So I think it's better to restore the user defined value after disabling THP.Quoted 5 lines
Then have LTP record what
min_free_kbyteswas at the same time THP was enabled by the test and restore both settings. It leaves a window where an admin can set an alternative value during the test but that would also invalidate the test in same cases and gets filed under "don't do that".
Quoted 7 lines
Because the value is changed in kernel, so it would be better to restore it in kernel, right? :) I have a v2 patch which will restore the value only if it isn't set again by user after THP's initialization. This v2 patch is dependent on the patch 'mm: show message when updating
min_free_kbytesin thp' which has been added to -mm tree, can be found here:
It still feels like the type of scenario that only shows up during tests that modify kernel parameters as part of the test. I do not consider it normal operation for THP to be enabled and disabled multiple types during the lifetime of the system. If the system started with THP disabled, ran for a long period of time then the benefit of having min_free_kbytes at a higher value is already lost due to the system being potentially in a fragmented state already.
I'm ok with the warning being displayed if min_free_kbytes is updated but I'm not convinced that further trickery is necessary.
Signature · 8 lines
Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>