diff --git a/mm/huge_memory.c b/mm/huge_memory.c index f0e999379dd7fd30da2d216113c50a34d48c34e3..77b470b7e3c6923d48856369804e95df71aff81c 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2339,14 +2339,6 @@ static void khugepaged_wait_work(void) wait_event_freezable(khugepaged_wait, khugepaged_wait_event()); } -static void khugepaged_loop(void) -{ - while (likely(khugepaged_enabled())) { - khugepaged_do_scan(); - khugepaged_wait_work(); - } -} - static int khugepaged(void *none) { struct mm_slot *mm_slot; @@ -2354,8 +2346,10 @@ static int khugepaged(void *none) set_freezable(); set_user_nice(current, 19); - while (!kthread_should_stop()) - khugepaged_loop(); + while (!kthread_should_stop()) { + khugepaged_do_scan(); + khugepaged_wait_work(); + } spin_lock(&khugepaged_mm_lock); mm_slot = khugepaged_scan.mm_slot;