From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 580213191D3 for ; Tue, 28 Jul 2026 20:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785271660; cv=none; b=hUTWhmdw/dzsTFq/QFcfO+H6AWxYMhoTkFA7mRLa1/X4S4KUtJZRKjraY4DXfLSjT98rbVJYLmIrG4TDAHtA1EG2zaPjvokIIxUMCu7sMuvxxnn64dIA2XFwDScX79obXjwbdY/gSnPVzJaLMRw8EMhnqEh1NlwyZAnvjyhFk4A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785271660; c=relaxed/simple; bh=/STkg7uoDqufNzb2rmU3N4ad0MB4TKC4hn487jY7dig=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Gveau/MohGR6yQCtrsYm5sQ6+38lNcoh8opRhvbQWeTwKoLR90Kat+qBAsN/zv8VfXwUrg3rQg107L7VR65ik9M64+Yaha2KU4To5pjuP3CaAFRz7kzlsaSxC9Cl2CVLRhdAkfoCByfwEe91DcjTSihM8OrA0/TxZV1pkIX4cfE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fZ5Jd0Gz; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fZ5Jd0Gz" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4954aff6088so2360635e9.3 for ; Tue, 28 Jul 2026 13:47:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785271656; x=1785876456; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=ytQPuk/Djc/IdfIxup0S/O4J+teQ2GhQjH2sKJeJZ5c=; b=fZ5Jd0GzRqcUx9h4U/EhDKhtDyHJuEwE0ZoJKgI52ZsGAAXf2BQtP1/WWsRJvhTP0x vy4HK8imHRHUnYR17UgYGyqMwPqGPmuFR2tN9XaeSFVl+GPSMl7BKrnIEGPIp0T2oclv OoPktbShIIwIjI6WttQeRSMT5sKvXw1vOw8WUrUEq53xu6fQHkR9+YNrDscTcGB99jl9 Ejai0+iE64FxI9MrnscEoucpwvjkiJeEyoRAY22lxQ7+XoMYLKCgPikDsQsiJ3Nneoui Me02p69iCpD0+K98nplyxSVWAD+QMM6TMTHyDV/KwOa4hKeyGkkC6yi+QAzrfCVF/61A gf1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785271656; x=1785876456; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ytQPuk/Djc/IdfIxup0S/O4J+teQ2GhQjH2sKJeJZ5c=; b=JY9Y24XcajW/GxCvH/H0QZW4WQyTuB+QWhvXu1pNmKUMTWjMuJUK/XonpizYhqLDsC Q/bG6s1VCQwnKawW3vGRtkWVk2oHU/guVKL1jbPMnOOebeTSy5p+75gD07M3nMq37EKL YX0wurXzO6aHS4VeUOcAORDLFu8jD/5L0vtTPRMZF5A7q1pj78kUdgH1iDik2dMyFM/m YB8Ca7OATCpA3RKkafGhPV0IxwWwc28+7SShRMh2x4Eb1GxYxbRb8Ia4TNMxJDe8t/2x Fjzxf6M18E+rpA3Yf0yaHQOb+L7dCJNYRmoiRHB+vmgAvKowcTItIiz0i+FBNkLSh6SD y1wQ== X-Forwarded-Encrypted: i=1; AHgh+RrueiQM8A5FjJ5fxx4ksRo72hYIZ+Bh4DugKauBKWjrUV/YVkggIl/4tNtsyV3t6TDnUrkkIPa8LsMhUp8=@vger.kernel.org X-Gm-Message-State: AOJu0YxBZwzV+RGhMF462N/hJb5p9Q1rdy/kMKTZE/sAuk2eZGBIC3+S o30xc5uin54pf8W59FnI1YRDXvOQuyXprtuqDke4GNDxFu9b1gJ9ExM= X-Gm-Gg: AR+sD10w7L4Gt6R70+7eiIWcgcWokIajTyAz088S+wL8isM3IjlUE4aryeIcPhWQGXV d7SUtoIyw6+X7mEzST2N/PxR+i0tiRU6yR9s0n/75mkn/7oyfj2H/2l5KjiL5JIlYR3e9A63BNl PAr1XD2S+zRwLBCFnGB9f+sy2T3Mh1y7ERmOv9aJaiV2bG0AMTL/KV7mx96HewTDYcz3OMBvQYi 8DKHpcqmMgbiqSASI0FdosU/2BkZoK4unmkoaS5bLpKmYNGgwlz/9GK3fdqPXpsNYch9gZSKHxG zD+zKBzuUE4Ed7lXgINuzCkcZmcOVKDXb0bhxP3kQZ+lfEendZdKRADWuBOpYcCGp5QFP12HZLP WsfsfjQqpKuRoHqQe5KP0y8Q/OG7ARQFq8esSEBHXh1X17Ne+7XNV9MgcksVGF8TyTnOHNRNQDN SUTZHvGHnwlDRakoigeBi0dBqQUUYHwVcmQGVmCX9OuGAx6GgS1oK9Rh6ugXFHqvgSPOl2c1BwE +msimorvTiLqCNkGzsI5PTF/mTFZLMRcBI0N+Ldy0KQn3eYKZs7RGyS11H7bK+kqDqrEmn7bYfF DeIfshMwsDP5j5kMeRF5lxLgPw== X-Received: by 2002:a05:600c:4fcc:b0:493:bfea:2780 with SMTP id 5b1f17b1804b1-496c643b124mr46776785e9.9.1785271656377; Tue, 28 Jul 2026 13:47:36 -0700 (PDT) Received: from archtop.localdomain (92-242-249-25.broadband.mtnet.hr. [92.242.249.25]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fb6b27435sm1709418f8f.35.2026.07.28.13.47.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2026 13:47:35 -0700 (PDT) From: Jakov Novak To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kernel-mentees@lists.linux.dev, Andrew Morton , David Hildenbrand , Lorenzo Stoakes Cc: Zi Yan , Baolin Wang , "\\ Liam R . Howlett \\ " , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Shuah Khan , Jakov Novak Subject: [PATCH v2] mm/khugepaged: replace mutex_lock/mutex_unlock usage with guard macro Date: Tue, 28 Jul 2026 22:46:37 +0200 Message-ID: <20260728204636.20998-2-jakovnovak30@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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. Signed-off-by: Jakov Novak Reviewed-by: Dev Jain Reviewed-by: Lorenzo Stoakes (ARM) --- v2: - Added #include to the includes at the top of the file - Moved err declaration to the scope where it's used in start_stop_khugepaged - Made default case return 0 instead of err in start_stop_khugepaged mm/khugepaged.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/mm/khugepaged.c b/mm/khugepaged.c index 617bca76db49..7890bd3e2a9d 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "internal.h" @@ -3111,18 +3112,17 @@ void set_recommended_min_free_kbytes(void) 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)) { + int err; pr_err("khugepaged: kthread_run(khugepaged) failed\n"); err = PTR_ERR(khugepaged_thread); khugepaged_thread = NULL; - goto fail; + return err; } if (!list_empty(&khugepaged_scan.mm_head)) @@ -3132,17 +3132,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) -- 2.55.0