mm-khugepaged-replace-mutex_lock-mutex_unlock-usage-with-guard-macro.patch removed from -mm tree
The quilt patch titled
Subject: mm/khugepaged: replace mutex_lock/mutex_unlock usage with guard macro
has been removed from the -mm tree. Its filename was
mm-khugepaged-replace-mutex_lock-mutex_unlock-usage-with-guard-macro.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Jakov Novak <[email protected]>
Subject: mm/khugepaged: replace mutex_lock/mutex_unlock usage with guard macro
Date: Thu, 30 Jul 2026 22:47:24 +0200
Currently, khugepaged locks the khugepaged_mutex in two functions:start_stop_khugepaged and khugepaged_min_free_kbytes_update. Remove mutex_lock/mutex_unlock usage in these functions and replace it with the guard macro. This makes the code more readable (removing a goto statement) and makes it harder to introduce bugs in the future. No functional changes introduced.
---
mm/khugepaged.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-)
mm/khugepaged.c renamed from mm/khugepaged.c~mm-khugepaged-replace-mutex_lock-mutex_unlock-usage-with-guard-macro +15 -16
@@ -23,6 +23,7 @@#include <linux/ksm.h> #include <linux/pgalloc.h> #include <linux/backing-dev.h> +#include <linux/cleanup.h> #include <asm/tlb.h> #include "internal.h"
@@ -3115,18 +3116,19 @@ update_wmarks:int start_stop_khugepaged (void ) { -int err =0 ; - -mutex_lock (&khugepaged_mutex); +guard (mutex)(&khugepaged_mutex);if (hugepage_enabled ()) { -if (!khugepaged_thread) - khugepaged_thread =kthread_run (khugepaged,NULL , -"khugepaged" ); -if (IS_ERR (khugepaged_thread)) { -pr_err ("khugepaged: kthread_run(khugepaged) failed\n" ); - err =PTR_ERR (khugepaged_thread); - khugepaged_thread =NULL ; - goto fail; +if (!khugepaged_thread) { +struct task_struct *new_thread =kthread_run (khugepaged, +NULL , +"khugepaged" ); + +if (IS_ERR (new_thread)) { +pr_err ("khugepaged: kthread_run(khugepaged) failed\n" ); +return PTR_ERR (new_thread); + } + + khugepaged_thread = new_thread; }if (!list_empty (&khugepaged_scan.mm_head))
@@ -3136,17 +3138,14 @@ int start_stop_khugepaged(void) khugepaged_thread =NULL ; }set_recommended_min_free_kbytes (); -fail: -mutex_unlock (&khugepaged_mutex); -return err; +return 0 ; }void khugepaged_min_free_kbytes_update (void ) { -mutex_lock (&khugepaged_mutex); +guard (mutex)(&khugepaged_mutex);if (hugepage_enabled () && khugepaged_thread)set_recommended_min_free_kbytes (); -mutex_unlock (&khugepaged_mutex); }bool current_is_khugepaged (void )
_
Patches currently in -mm which might be from [email protected] are