Skip to contentSkip to conversation

selftests-mm-skip-test-for-non-lpa2-and-non-lva-systems.patch removed from -mm tree

merged mm-hotfixes-stable Andrew Morton 1 participant 1 message Jul 26, 2024

lore
Share & tools
lore

Andrew Morton

author tree notice Applied
#0 lore raw

The quilt patch titled
Subject: selftests/mm: skip test for non-LPA2 and non-LVA systems
has been removed from the -mm tree. Its filename was
selftests-mm-skip-test-for-non-lpa2-and-non-lva-systems.patch

This patch was dropped because it was merged into the mm-hotfixes-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

------------------------------------------------------
From: Dev Jain <[email protected]>
Subject: selftests/mm: skip test for non-LPA2 and non-LVA systems
Date: Thu, 18 Jul 2024 10:55:04 +0530

Post my improvement of the test in e4a4ba415419 ("selftests/mm:
va_high_addr_switch: dynamically initialize testcases to enable LPA2 testing"):

The test begins to fail on 4k and 16k pages, on non-LPA2 systems. To reduce noise in the CI systems, let us skip the test when higher address space is not implemented.

Fixes e4a4ba415419 ("selftests/mm: va_high_addr_switch: dynamically initialize testcases to enable LPA2 testing")
Cc Anshuman Khandual <[email protected]>
Cc Mark Brown <[email protected]>

---

 tools/testing/selftests/mm/va_high_addr_switch.c |   16 ++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
tools/testing/selftests/mm/va_high_addr_switch.c renamed from tools/testing/selftests/mm/va_high_addr_switch.c~selftests-mm-skip-test-for-non-lpa2-and-non-lva-systems +15 -1
@@ -293,6 +293,20 @@ static int run_test(struct testcase *tes
 	return ret;
 }
 
+#ifdef __aarch64__
+/* Check if userspace VA > 48 bits */
+static int high_address_present(void)
+{
+	void *ptr = mmap((void *)(1UL << 50), 1, PROT_READ | PROT_WRITE,
+			 MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
+	if (ptr == MAP_FAILED)
+		return 0;
+
+	munmap(ptr, 1);
+	return 1;
+}
+#endif
+
 static int supported_arch(void)
 {
 #if defined(__powerpc64__)
@@ -300,7 +314,7 @@ static int supported_arch(void)
 #elif defined(__x86_64__)
 	return 1;
 #elif defined(__aarch64__)
-	return 1;
+	return high_address_present();
 #else
 	return 0;
 #endif

_

Patches currently in -mm which might be from [email protected] are