All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>,
	David Hildenbrand <david@kernel.org>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>,
	Barry Song <baohua@kernel.org>, Dev Jain <dev.jain@arm.com>,
	Donet Tom <donettom@linux.ibm.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	John Hubbard <jhubbard@nvidia.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lance Yang <lance.yang@linux.dev>,
	Leon Romanovsky <leon@kernel.org>,
	Lorenzo Stoakes <ljs@kernel.org>,
	Luiz Capitulino <luizcap@redhat.com>,
	Mark Brown <broonie@kernel.org>, Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>, Nico Pache <npache@redhat.com>,
	Peter Xu <peterx@redhat.com>, Ryan Roberts <ryan.roberts@arm.com>,
	Sarthak Sharma <sarthak.sharma@arm.com>,
	Shuah Khan <shuah@kernel.org>,
	Suren Baghdasaryan <surenb@google.com>,
	Vlastimil Babka <vbabka@kernel.org>, Zi Yan <ziy@nvidia.com>,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	linux-mm@kvack.org
Subject: [PATCH v3 23/54] selftests/mm: move HugeTLB helpers to hugepage_settings
Date: Tue, 28 Apr 2026 23:42:09 +0300	[thread overview]
Message-ID: <20260428204240.1924129-24-rppt@kernel.org> (raw)
In-Reply-To: <20260428204240.1924129-1-rppt@kernel.org>

From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>

Move library functions that abstract HugeTLB /proc and /sysfs access
from vm_util to hugepage_settings.

This will help creating common helpers that save and restore HugeTLB and
THP settings.

Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
---
 tools/testing/selftests/mm/gup_longterm.c     |  1 +
 tools/testing/selftests/mm/hmm-tests.c        |  2 +-
 .../testing/selftests/mm/hugepage_settings.c  | 68 +++++++++++++++++++
 .../testing/selftests/mm/hugepage_settings.h  |  8 +++
 tools/testing/selftests/mm/hugetlb-madvise.c  |  1 +
 tools/testing/selftests/mm/hugetlb-mmap.c     |  1 +
 tools/testing/selftests/mm/hugetlb-vmemmap.c  |  1 +
 tools/testing/selftests/mm/hugetlb_dio.c      |  1 +
 .../selftests/mm/hugetlb_fault_after_madv.c   |  1 +
 .../selftests/mm/hugetlb_madv_vs_map.c        |  1 +
 tools/testing/selftests/mm/thuge-gen.c        |  1 +
 tools/testing/selftests/mm/uffd-common.h      |  1 +
 .../selftests/mm/va_high_addr_switch.c        |  1 +
 tools/testing/selftests/mm/vm_util.c          | 66 ------------------
 tools/testing/selftests/mm/vm_util.h          |  3 -
 15 files changed, 87 insertions(+), 70 deletions(-)

diff --git a/tools/testing/selftests/mm/gup_longterm.c b/tools/testing/selftests/mm/gup_longterm.c
index f61150d28eb2..ab4eaf4feb7c 100644
--- a/tools/testing/selftests/mm/gup_longterm.c
+++ b/tools/testing/selftests/mm/gup_longterm.c
@@ -29,6 +29,7 @@
 #include "../../../../mm/gup_test.h"
 #include "kselftest.h"
 #include "vm_util.h"
+#include "hugepage_settings.h"
 
 static size_t pagesize;
 static int nr_hugetlbsizes;
diff --git a/tools/testing/selftests/mm/hmm-tests.c b/tools/testing/selftests/mm/hmm-tests.c
index 788689497e92..409b11cad4bc 100644
--- a/tools/testing/selftests/mm/hmm-tests.c
+++ b/tools/testing/selftests/mm/hmm-tests.c
@@ -11,6 +11,7 @@
  */
 
 #include "kselftest_harness.h"
+#include "hugepage_settings.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -27,7 +28,6 @@
 #include <sys/ioctl.h>
 #include <sys/time.h>
 
-
 /*
  * This is a private UAPI to the kernel test module so it isn't exported
  * in the usual include/uapi/... directory.
diff --git a/tools/testing/selftests/mm/hugepage_settings.c b/tools/testing/selftests/mm/hugepage_settings.c
index 87ecb309b430..ebaa621c45c6 100644
--- a/tools/testing/selftests/mm/hugepage_settings.c
+++ b/tools/testing/selftests/mm/hugepage_settings.c
@@ -1,7 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0
+#include <dirent.h>
 #include <fcntl.h>
 #include <limits.h>
 #include <signal.h>
+#include <stddef.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -396,3 +398,69 @@ bool thp_is_enabled(void)
 	/* THP is considered enabled if it's either "always" or "madvise" */
 	return mode == 1 || mode == 3;
 }
+
+int detect_hugetlb_page_sizes(size_t sizes[], int max)
+{
+	DIR *dir = opendir("/sys/kernel/mm/hugepages/");
+	int count = 0;
+
+	if (!dir)
+		return 0;
+
+	while (count < max) {
+		struct dirent *entry = readdir(dir);
+		size_t kb;
+
+		if (!entry)
+			break;
+		if (entry->d_type != DT_DIR)
+			continue;
+		if (sscanf(entry->d_name, "hugepages-%zukB", &kb) != 1)
+			continue;
+		sizes[count++] = kb * 1024;
+		ksft_print_msg("[INFO] detected hugetlb page size: %zu KiB\n",
+			       kb);
+	}
+	closedir(dir);
+	return count;
+}
+
+unsigned long default_huge_page_size(void)
+{
+	unsigned long hps = 0;
+	char *line = NULL;
+	size_t linelen = 0;
+	FILE *f = fopen("/proc/meminfo", "r");
+
+	if (!f)
+		return 0;
+	while (getline(&line, &linelen, f) > 0) {
+		if (sscanf(line, "Hugepagesize:       %lu kB", &hps) == 1) {
+			hps <<= 10;
+			break;
+		}
+	}
+
+	free(line);
+	fclose(f);
+	return hps;
+}
+
+unsigned long get_free_hugepages(void)
+{
+	unsigned long fhp = 0;
+	char *line = NULL;
+	size_t linelen = 0;
+	FILE *f = fopen("/proc/meminfo", "r");
+
+	if (!f)
+		return fhp;
+	while (getline(&line, &linelen, f) > 0) {
+		if (sscanf(line, "HugePages_Free:      %lu", &fhp) == 1)
+			break;
+	}
+
+	free(line);
+	fclose(f);
+	return fhp;
+}
diff --git a/tools/testing/selftests/mm/hugepage_settings.h b/tools/testing/selftests/mm/hugepage_settings.h
index 7748a9009191..320b97e768e8 100644
--- a/tools/testing/selftests/mm/hugepage_settings.h
+++ b/tools/testing/selftests/mm/hugepage_settings.h
@@ -6,6 +6,8 @@
 #include <stddef.h>
 #include <stdint.h>
 
+/* Transparent Huge Pages (THP) */
+
 enum thp_enabled {
 	THP_NEVER,
 	THP_ALWAYS,
@@ -86,4 +88,10 @@ unsigned long thp_shmem_supported_orders(void);
 bool thp_available(void);
 bool thp_is_enabled(void);
 
+/* HugeTLB */
+
+int detect_hugetlb_page_sizes(size_t sizes[], int max);
+unsigned long default_huge_page_size(void);
+unsigned long get_free_hugepages(void);
+
 #endif /* __THP_SETTINGS_H__ */
diff --git a/tools/testing/selftests/mm/hugetlb-madvise.c b/tools/testing/selftests/mm/hugetlb-madvise.c
index 4c6c346a3af5..316384d919db 100644
--- a/tools/testing/selftests/mm/hugetlb-madvise.c
+++ b/tools/testing/selftests/mm/hugetlb-madvise.c
@@ -20,6 +20,7 @@
 #include <fcntl.h>
 #include "vm_util.h"
 #include "kselftest.h"
+#include "hugepage_settings.h"
 
 #define MIN_FREE_PAGES	20
 #define NR_HUGE_PAGES	10	/* common number of pages to map/allocate */
diff --git a/tools/testing/selftests/mm/hugetlb-mmap.c b/tools/testing/selftests/mm/hugetlb-mmap.c
index 9f5ea8d6d656..031085cb7d17 100644
--- a/tools/testing/selftests/mm/hugetlb-mmap.c
+++ b/tools/testing/selftests/mm/hugetlb-mmap.c
@@ -18,6 +18,7 @@
 #include <linux/memfd.h>
 #include "vm_util.h"
 #include "kselftest.h"
+#include "hugepage_settings.h"
 
 #define LENGTH (256UL*1024*1024)
 #define PROTECTION (PROT_READ | PROT_WRITE)
diff --git a/tools/testing/selftests/mm/hugetlb-vmemmap.c b/tools/testing/selftests/mm/hugetlb-vmemmap.c
index 485a6978b40f..af5786bebfd1 100644
--- a/tools/testing/selftests/mm/hugetlb-vmemmap.c
+++ b/tools/testing/selftests/mm/hugetlb-vmemmap.c
@@ -11,6 +11,7 @@
 #include <sys/mman.h>
 #include <fcntl.h>
 #include "vm_util.h"
+#include "hugepage_settings.h"
 
 #define PAGE_COMPOUND_HEAD	(1UL << 15)
 #define PAGE_COMPOUND_TAIL	(1UL << 16)
diff --git a/tools/testing/selftests/mm/hugetlb_dio.c b/tools/testing/selftests/mm/hugetlb_dio.c
index 31a054fa8134..81e3f7bc8e76 100644
--- a/tools/testing/selftests/mm/hugetlb_dio.c
+++ b/tools/testing/selftests/mm/hugetlb_dio.c
@@ -20,6 +20,7 @@
 #include <sys/syscall.h>
 #include "vm_util.h"
 #include "kselftest.h"
+#include "hugepage_settings.h"
 
 #ifndef STATX_DIOALIGN
 #define STATX_DIOALIGN		0x00002000U
diff --git a/tools/testing/selftests/mm/hugetlb_fault_after_madv.c b/tools/testing/selftests/mm/hugetlb_fault_after_madv.c
index b4b257775b74..abc3904c5268 100644
--- a/tools/testing/selftests/mm/hugetlb_fault_after_madv.c
+++ b/tools/testing/selftests/mm/hugetlb_fault_after_madv.c
@@ -10,6 +10,7 @@
 
 #include "vm_util.h"
 #include "kselftest.h"
+#include "hugepage_settings.h"
 
 #define INLOOP_ITER 100
 
diff --git a/tools/testing/selftests/mm/hugetlb_madv_vs_map.c b/tools/testing/selftests/mm/hugetlb_madv_vs_map.c
index c7105c6d319b..ac60b4f18784 100644
--- a/tools/testing/selftests/mm/hugetlb_madv_vs_map.c
+++ b/tools/testing/selftests/mm/hugetlb_madv_vs_map.c
@@ -25,6 +25,7 @@
 #include <unistd.h>
 
 #include "vm_util.h"
+#include "hugepage_settings.h"
 
 #define INLOOP_ITER 100
 
diff --git a/tools/testing/selftests/mm/thuge-gen.c b/tools/testing/selftests/mm/thuge-gen.c
index 77813d34dcc2..1007bc8aa57c 100644
--- a/tools/testing/selftests/mm/thuge-gen.c
+++ b/tools/testing/selftests/mm/thuge-gen.c
@@ -28,6 +28,7 @@
 #include <string.h>
 #include "vm_util.h"
 #include "kselftest.h"
+#include "hugepage_settings.h"
 
 #if !defined(MAP_HUGETLB)
 #define MAP_HUGETLB	0x40000
diff --git a/tools/testing/selftests/mm/uffd-common.h b/tools/testing/selftests/mm/uffd-common.h
index 844a85ab31eb..6c5aca9cb63e 100644
--- a/tools/testing/selftests/mm/uffd-common.h
+++ b/tools/testing/selftests/mm/uffd-common.h
@@ -37,6 +37,7 @@
 
 #include "kselftest.h"
 #include "vm_util.h"
+#include "hugepage_settings.h"
 
 #define UFFD_FLAGS	(O_CLOEXEC | O_NONBLOCK | UFFD_USER_MODE_ONLY)
 
diff --git a/tools/testing/selftests/mm/va_high_addr_switch.c b/tools/testing/selftests/mm/va_high_addr_switch.c
index 5d38735ea60e..0b69bd4b901d 100644
--- a/tools/testing/selftests/mm/va_high_addr_switch.c
+++ b/tools/testing/selftests/mm/va_high_addr_switch.c
@@ -11,6 +11,7 @@
 
 #include "vm_util.h"
 #include "kselftest.h"
+#include "hugepage_settings.h"
 
 /*
  * The hint addr value is used to allocate addresses
diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c
index db94564f4431..e62e2a473123 100644
--- a/tools/testing/selftests/mm/vm_util.c
+++ b/tools/testing/selftests/mm/vm_util.c
@@ -291,53 +291,6 @@ int64_t allocate_transhuge(void *ptr, int pagemap_fd)
 	return -1;
 }
 
-unsigned long default_huge_page_size(void)
-{
-	unsigned long hps = 0;
-	char *line = NULL;
-	size_t linelen = 0;
-	FILE *f = fopen("/proc/meminfo", "r");
-
-	if (!f)
-		return 0;
-	while (getline(&line, &linelen, f) > 0) {
-		if (sscanf(line, "Hugepagesize:       %lu kB", &hps) == 1) {
-			hps <<= 10;
-			break;
-		}
-	}
-
-	free(line);
-	fclose(f);
-	return hps;
-}
-
-int detect_hugetlb_page_sizes(size_t sizes[], int max)
-{
-	DIR *dir = opendir("/sys/kernel/mm/hugepages/");
-	int count = 0;
-
-	if (!dir)
-		return 0;
-
-	while (count < max) {
-		struct dirent *entry = readdir(dir);
-		size_t kb;
-
-		if (!entry)
-			break;
-		if (entry->d_type != DT_DIR)
-			continue;
-		if (sscanf(entry->d_name, "hugepages-%zukB", &kb) != 1)
-			continue;
-		sizes[count++] = kb * 1024;
-		ksft_print_msg("[INFO] detected hugetlb page size: %zu KiB\n",
-			       kb);
-	}
-	closedir(dir);
-	return count;
-}
-
 int pageflags_get(unsigned long pfn, int kpageflags_fd, uint64_t *flags)
 {
 	size_t count;
@@ -396,25 +349,6 @@ int uffd_unregister(int uffd, void *addr, uint64_t len)
 	return ret;
 }
 
-unsigned long get_free_hugepages(void)
-{
-	unsigned long fhp = 0;
-	char *line = NULL;
-	size_t linelen = 0;
-	FILE *f = fopen("/proc/meminfo", "r");
-
-	if (!f)
-		return fhp;
-	while (getline(&line, &linelen, f) > 0) {
-		if (sscanf(line, "HugePages_Free:      %lu", &fhp) == 1)
-			break;
-	}
-
-	free(line);
-	fclose(f);
-	return fhp;
-}
-
 static bool check_vmflag(void *addr, const char *flag)
 {
 	char buffer[MAX_LINE_LENGTH];
diff --git a/tools/testing/selftests/mm/vm_util.h b/tools/testing/selftests/mm/vm_util.h
index 1a07305ceff4..195bf2e26792 100644
--- a/tools/testing/selftests/mm/vm_util.h
+++ b/tools/testing/selftests/mm/vm_util.h
@@ -94,8 +94,6 @@ bool check_huge_anon(void *addr, int nr_hpages, uint64_t hpage_size);
 bool check_huge_file(void *addr, int nr_hpages, uint64_t hpage_size);
 bool check_huge_shmem(void *addr, int nr_hpages, uint64_t hpage_size);
 int64_t allocate_transhuge(void *ptr, int pagemap_fd);
-unsigned long default_huge_page_size(void);
-int detect_hugetlb_page_sizes(size_t sizes[], int max);
 int pageflags_get(unsigned long pfn, int kpageflags_fd, uint64_t *flags);
 
 int uffd_register(int uffd, void *addr, uint64_t len,
@@ -103,7 +101,6 @@ int uffd_register(int uffd, void *addr, uint64_t len,
 int uffd_unregister(int uffd, void *addr, uint64_t len);
 int uffd_register_with_ioctls(int uffd, void *addr, uint64_t len,
 			      bool miss, bool wp, bool minor, uint64_t *ioctls);
-unsigned long get_free_hugepages(void);
 bool check_vmflag_io(void *addr);
 bool check_vmflag_pfnmap(void *addr);
 bool check_vmflag_guard(void *addr);
-- 
2.53.0


  parent reply	other threads:[~2026-04-28 20:45 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-28 20:41 [PATCH v3 00/54] make MM selftests more CI friendly Mike Rapoport
2026-04-28 20:41 ` [PATCH v3 01/54] selftests/mm: hugetlb-read-hwpoison: add SIGBUS handler Mike Rapoport
2026-04-30 13:04   ` Li Wang
2026-04-28 20:41 ` [PATCH v3 02/54] selftests/mm: migration: don't assume hupe page is TWOMEG Mike Rapoport
2026-04-30 13:19   ` Luiz Capitulino
2026-04-28 20:41 ` [PATCH v3 03/54] selftests/mm: migration: make nthreads represent number of working threads Mike Rapoport
2026-04-30 13:21   ` Luiz Capitulino
2026-04-28 20:41 ` [PATCH v3 04/54] selftests/mm: migration: properly cleanup fork()ed processes Mike Rapoport
2026-04-30 13:37   ` Luiz Capitulino
2026-04-30 14:40     ` Mike Rapoport
2026-04-30 14:54       ` Luiz Capitulino
2026-04-28 20:41 ` [PATCH v3 05/54] selftests/mm: run_vmtests.sh: don't gate THP and KSM tests on HAVE_HUGEPAGES Mike Rapoport
2026-05-01  8:35   ` Li Wang
2026-04-28 20:41 ` [PATCH v3 06/54] selftests/mm: merge map_hugetlb into hugepage-mmap Mike Rapoport
2026-04-30  9:33   ` Donet Tom
2026-04-30 15:26   ` Luiz Capitulino
2026-04-28 20:41 ` [PATCH v3 07/54] selftests/mm: rename hugepage-* tests to hugetlb-* Mike Rapoport
2026-05-01  8:18   ` Li Wang
2026-05-01 14:59     ` Mike Rapoport
2026-04-28 20:41 ` [PATCH v3 08/54] selftests/mm: hugetlb-shm: use kselftest framework Mike Rapoport
2026-04-28 20:41 ` [PATCH v3 09/54] selftests/mm: hugetlb-vmemmap: " Mike Rapoport
2026-04-28 20:41 ` [PATCH v3 10/54] selftests/mm: hugetlb-madvise: " Mike Rapoport
2026-04-28 20:41 ` [PATCH v3 11/54] selftests/mm: hugetlb_madv_vs_map: " Mike Rapoport
2026-04-28 20:41 ` [PATCH v3 12/54] selftests/mm: hugetlb-read-hwpoison: " Mike Rapoport
2026-04-30 13:09   ` Li Wang
2026-04-28 20:41 ` [PATCH v3 13/54] selftests/mm: khugepaged: group tests in an array Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 14/54] selftests/mm: khugepaged: use ksefltest framework Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 15/54] selftests/mm: ksm_tests: use kselftest framework Mike Rapoport
2026-04-29 11:59   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 16/54] selftests/mm: protection_keys: use descriptive test names in TAP output Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 17/54] selftests/mm: protection_keys: use kselftest framework Mike Rapoport
2026-05-06  8:57   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 18/54] selftests/mm: uffd-stress: " Mike Rapoport
2026-04-29 12:10   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 19/54] selftests/mm: uffd-unit-tests: " Mike Rapoport
2026-04-29 13:13   ` Sarthak Sharma
2026-04-30 14:36     ` Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 20/54] selftests/mm: va_high_addr_switch: " Mike Rapoport
2026-04-30 15:42   ` Luiz Capitulino
2026-05-06  9:02   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 21/54] selftests/mm: add atexit() and signal handlers to thp_settings Mike Rapoport
2026-04-30  7:57   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 22/54] selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] Mike Rapoport
2026-05-06  9:12   ` Sarthak Sharma
2026-04-28 20:42 ` Mike Rapoport [this message]
2026-05-06  9:14   ` [PATCH v3 23/54] selftests/mm: move HugeTLB helpers to hugepage_settings Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 24/54] selftests/mm: hugepage_settings: use unsigned long in detect_hugetlb_page_size Mike Rapoport
2026-05-06  9:23   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 25/54] selftests/mm: hugepage_settings: add APIs to get and set nr_hugepages Mike Rapoport
2026-04-30 17:33   ` Luiz Capitulino
2026-05-06 10:12   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 26/54] selftests/mm: hugepage_settings: rename get_free_hugepages() Mike Rapoport
2026-05-06 11:03   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 27/54] selftests/mm: hugepage_settings: add APIs for HugeTLB setup and teardown Mike Rapoport
2026-04-30 18:31   ` Luiz Capitulino
2026-05-01 15:25     ` Mike Rapoport
2026-05-01 19:30       ` Luiz Capitulino
2026-05-02  4:36         ` Mike Rapoport
2026-05-04 13:04           ` Luiz Capitulino
2026-05-06 11:17   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 28/54] selftests/mm: move read_file(), read_num() and write_num() to vm_util Mike Rapoport
2026-05-06 11:36   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 29/54] selftests/mm: vm_util: add helpers to set and restore shm limits Mike Rapoport
2026-05-06 12:01   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 30/54] selftests/mm: compaction_test: use HugeTLB helpers Mike Rapoport
2026-05-04 10:07   ` Sarthak Sharma
2026-05-05 15:26     ` Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 31/54] selftests/mm: cow: add setup of HugeTLB pages Mike Rapoport
2026-05-04  6:52   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 32/54] selftests/mm: gup_longterm: " Mike Rapoport
2026-05-06 12:14   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 33/54] selftests/mm: gup_test: " Mike Rapoport
2026-05-06 12:29   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 34/54] selftests/mm: hmm-tests: " Mike Rapoport
2026-05-04 11:46   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 35/54] selftests/mm: hugepage_dio: " Mike Rapoport
2026-05-04 12:20   ` Sarthak Sharma
2026-05-11  8:25     ` Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 36/54] selftests/mm: hugetlb_fault_after_madv: " Mike Rapoport
2026-05-07  9:53   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 37/54] selftests/mm: hugetlb-madvise: " Mike Rapoport
2026-05-07 10:28   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 38/54] selftests/mm: hugetlb_madv_vs_map: " Mike Rapoport
2026-05-07 10:32   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 39/54] selftests/mm: hugetlb-mmap: " Mike Rapoport
2026-04-30 18:39   ` Luiz Capitulino
2026-05-07 10:38   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 40/54] selftests/mm: hugetlb-mremap: " Mike Rapoport
2026-05-05  6:51   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 41/54] selftests/mm: hugetlb-shm: " Mike Rapoport
2026-05-05 11:33   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 42/54] selftests/mm: hugetlb-soft-online: " Mike Rapoport
2026-05-05  7:15   ` Sarthak Sharma
2026-05-11  8:25     ` Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 43/54] selftests/mm: hugetlb-vmemmap: " Mike Rapoport
2026-05-07 11:27   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 44/54] selftests/mm: migration: " Mike Rapoport
2026-05-07 11:36   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 45/54] selftests/mm: pagemap_ioctl: " Mike Rapoport
2026-05-07 11:41   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 46/54] selftests/mm: protection_keys: use library code for HugeTLB setup Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 47/54] selftests/mm: thuge-gen: add setup of HugeTLB pages Mike Rapoport
2026-05-07 11:50   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 48/54] selftests/mm: uffd-stress: use hugetlb_save and alloc huge pages Mike Rapoport
2026-05-07 11:58   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 49/54] selftests/mm: uffd-unit-tests: add setup of HugeTLB pages Mike Rapoport
2026-05-05 11:48   ` Sarthak Sharma
2026-05-11  8:28     ` Mike Rapoport
2026-04-28 20:42 ` [PATCH v3 50/54] selftests/mm: uffd-wp-mremap: " Mike Rapoport
2026-05-05 11:27   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 51/54] selftests/mm: va_high_addr_switch: " Mike Rapoport
2026-04-30 18:44   ` Luiz Capitulino
2026-04-28 20:42 ` [PATCH v3 52/54] selftests/mm: va_high_addr_switch.sh: drop huge pages setup Mike Rapoport
2026-04-30 18:49   ` Luiz Capitulino
2026-04-28 20:42 ` [PATCH v3 53/54] selftests/mm: run_vmtests.sh: free memory if available memory is low Mike Rapoport
2026-05-07 12:07   ` Sarthak Sharma
2026-04-28 20:42 ` [PATCH v3 54/54] selftests/mm: run_vmtests.sh: drop detection and setup of HugeTLB Mike Rapoport
2026-05-07 12:10   ` Sarthak Sharma
2026-04-30 12:56 ` [PATCH v3 00/54] make MM selftests more CI friendly Luiz Capitulino

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=20260428204240.1924129-24-rppt@kernel.org \
    --to=rppt@kernel.org \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=broonie@kernel.org \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=donettom@linux.ibm.com \
    --cc=jgg@ziepe.ca \
    --cc=jhubbard@nvidia.com \
    --cc=lance.yang@linux.dev \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=luizcap@redhat.com \
    --cc=mhocko@suse.com \
    --cc=npache@redhat.com \
    --cc=peterx@redhat.com \
    --cc=ryan.roberts@arm.com \
    --cc=sarthak.sharma@arm.com \
    --cc=shuah@kernel.org \
    --cc=surenb@google.com \
    --cc=vbabka@kernel.org \
    --cc=ziy@nvidia.com \
    /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.