From: Andrew Morton <akpm@linux-foundation.org>
To: mm-commits@vger.kernel.org,ljs@kernel.org,david@kernel.org,akpm@linux-foundation.org,agordeev@linux.ibm.com,akpm@linux-foundation.org
Subject: [to-be-updated] selftests-mm-khugepaged-skip-swap-tests-when-no-swap-available.patch removed from -mm tree
Date: Fri, 07 Aug 2026 23:30:54 -0700 [thread overview]
Message-ID: <20260808063054.B75691F000E9@smtp.kernel.org> (raw)
The quilt patch titled
Subject: selftests/mm: khugepaged: skip swap tests when no swap available
has been removed from the -mm tree. Its filename was
selftests-mm-khugepaged-skip-swap-tests-when-no-swap-available.patch
This patch was dropped because an updated version will be issued
------------------------------------------------------
From: Alexander Gordeev <agordeev@linux.ibm.com>
Subject: selftests/mm: khugepaged: skip swap tests when no swap available
Date: Tue, 4 Aug 2026 14:53:51 +0200
When no swap is configured, swap-related tests fail because
madvise(MADV_PAGEOUT) does not swap out pages. Add a helper function to
detect swap availability and skip these tests.
Link: https://lore.kernel.org/20260804125351.1715708-1-agordeev@linux.ibm.com
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: David Hildenbrand <david@kernel.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/testing/selftests/mm/khugepaged.c | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
--- a/tools/testing/selftests/mm/khugepaged.c~selftests-mm-khugepaged-skip-swap-tests-when-no-swap-available
+++ a/tools/testing/selftests/mm/khugepaged.c
@@ -216,6 +216,25 @@ err_out:
return swap;
}
+static bool is_swap_available(unsigned long size)
+{
+ unsigned long swap_total = 0;
+ char buffer[256];
+ FILE *fp;
+
+ fp = fopen("/proc/meminfo", "r");
+ if (!fp)
+ return false;
+
+ while (fgets(buffer, sizeof(buffer), fp)) {
+ if (sscanf(buffer, "SwapTotal: %lu kB", &swap_total) == 1)
+ break;
+ }
+ fclose(fp);
+
+ return swap_total >= (size / 1024);
+}
+
static void *alloc_mapping(int nr)
{
void *p;
@@ -734,6 +753,13 @@ static void collapse_swapin_single_pte(s
{
void *p;
+ if (!is_swap_available(page_size)) {
+ ksft_print_msg("No swap available...");
+ skip("Skip");
+ ksft_test_result_skip("%s\n", __func__);
+ return;
+ }
+
p = ops->setup_area(1);
ops->fault(p, 0, hpage_pmd_size);
@@ -760,6 +786,13 @@ static void collapse_max_ptes_swap(struc
int max_ptes_swap = thp_read_num("khugepaged/max_ptes_swap");
void *p;
+ if (!is_swap_available((max_ptes_swap + 1) * page_size)) {
+ ksft_print_msg("No swap available...");
+ skip("Skip");
+ ksft_test_result_skip("%s\n", __func__);
+ return;
+ }
+
p = ops->setup_area(1);
ops->fault(p, 0, hpage_pmd_size);
_
Patches currently in -mm which might be from agordeev@linux.ibm.com are
mm-use-proper-pte-accessor-in-move_ptes.patch
reply other threads:[~2026-08-08 6:30 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260808063054.B75691F000E9@smtp.kernel.org \
--to=akpm@linux-foundation.org \
--cc=agordeev@linux.ibm.com \
--cc=david@kernel.org \
--cc=ljs@kernel.org \
--cc=mm-commits@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.