Replace vma_start_write() with vma_start_write_killable(), improving
reaction time to the kill signal.
Replace vma_start_write() in collapse_huge_page().

Suggested-by: Matthew Wilcox <[email protected]>
Signed-off-by: Suren Baghdasaryan <[email protected]>
Reviewed-by: Lorenzo Stoakes (Oracle) <[email protected]>
---
 mm/khugepaged.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index d06d84219e1b..a1825a4dec8b 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -1166,7 +1166,10 @@ static enum scan_result collapse_huge_page(struct 
mm_struct *mm, unsigned long a
        if (result != SCAN_SUCCEED)
                goto out_up_write;
        /* check if the pmd is still valid */
-       vma_start_write(vma);
+       if (vma_start_write_killable(vma)) {
+               result = SCAN_FAIL;
+               goto out_up_write;
+       }
        result = check_pmd_still_valid(mm, address, pmd);
        if (result != SCAN_SUCCEED)
                goto out_up_write;
-- 
2.53.0.1018.g2bb0e51243-goog


Reply via email to