]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
thp: do not adjust zone water marks if khugepaged is not started
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Tue, 7 Apr 2015 23:44:32 +0000 (09:44 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 7 Apr 2015 23:44:32 +0000 (09:44 +1000)
set_recommended_min_free_kbytes() adjusts zone water marks to be suitable
for khugepaged. We avoid doing this if khugepaged is disabled, but don't
catch the case when khugepaged is failed to start.

Let's address this by checking khugepaged_thread instead of
khugepaged_enabled() in set_recommended_min_free_kbytes().
It's NULL if the kernel thread is stopped or failed to start.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/huge_memory.c

index 902da2014f7ca8744d9b25cb68a20a722b051cfd..91d6639b2f830428a804deb7626aabb5c33ca760 100644 (file)
@@ -110,7 +110,8 @@ static int set_recommended_min_free_kbytes(void)
        int nr_zones = 0;
        unsigned long recommended_min;
 
-       if (!khugepaged_enabled())
+       /* khugepaged thread has stopped to failed to start */
+       if (!khugepaged_thread)
                return 0;
 
        for_each_populated_zone(zone)