mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] selftests/mm: TAP output and global-state fixes
@ 2026-08-12 12:08 Song Hu
  2026-08-12 12:08 ` [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap Song Hu
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Song Hu @ 2026-08-12 12:08 UTC (permalink / raw)
  To: linux-mm, akpm
  Cc: shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko, peterx,
	linux-kselftest, linux-kernel, Song Hu

uffd-wp-mremap and mremap_test never print the TAP header (and mremap_test
skips with a bare exit(KSFT_SKIP) rather than a KTAP skip), so their output
is not valid KTAP; hugetlb-soft-offline toggles enable_soft_offline during
the run and leaves it disabled afterwards.

Tested on x86_64.

Song Hu (3):
  selftests/mm: emit TAP header in uffd-wp-mremap
  selftests/mm: emit TAP header and use TAP skip in mremap_test
  selftests/mm: restore enable_soft_offline in hugetlb-soft-offline

 .../selftests/mm/hugetlb-soft-offline.c       | 24 +++++++++++++++++++
 tools/testing/selftests/mm/mremap_test.c      | 15 ++++++------
 tools/testing/selftests/mm/uffd-wp-mremap.c   |  2 ++
 3 files changed, 33 insertions(+), 8 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap
  2026-08-12 12:08 [PATCH 0/3] selftests/mm: TAP output and global-state fixes Song Hu
@ 2026-08-12 12:08 ` Song Hu
  2026-08-12 13:42   ` Mike Rapoport
  2026-08-14  6:13   ` Sarthak Sharma
  2026-08-12 12:08 ` [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test Song Hu
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 13+ messages in thread
From: Song Hu @ 2026-08-12 12:08 UTC (permalink / raw)
  To: linux-mm, akpm
  Cc: shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko, peterx,
	linux-kselftest, linux-kernel, Song Hu

uffd-wp-mremap calls ksft_set_plan() with no preceding ksft_print_header(),
so the "TAP version 13" line is never emitted and the output is not valid
KTAP.  The sibling uffd tests (uffd-stress, uffd-unit-tests) print the
header first; do the same.

Signed-off-by: Song Hu <husong@kylinos.cn>
---
 tools/testing/selftests/mm/uffd-wp-mremap.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/selftests/mm/uffd-wp-mremap.c
index c973d6722720..572c2516e874 100644
--- a/tools/testing/selftests/mm/uffd-wp-mremap.c
+++ b/tools/testing/selftests/mm/uffd-wp-mremap.c
@@ -347,6 +347,8 @@ int main(int argc, char **argv)
 	struct thp_settings settings;
 	int i, j, plan = 0;
 
+	ksft_print_header();
+
 	hugepage_save_settings(true, true);
 
 	check_uffd_wp_feature_supported();
-- 
2.43.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test
  2026-08-12 12:08 [PATCH 0/3] selftests/mm: TAP output and global-state fixes Song Hu
  2026-08-12 12:08 ` [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap Song Hu
@ 2026-08-12 12:08 ` Song Hu
  2026-08-12 13:42   ` Mike Rapoport
  2026-08-14  6:30   ` Sarthak Sharma
  2026-08-12 12:08 ` [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline Song Hu
  2026-08-12 20:51 ` [PATCH 0/3] selftests/mm: TAP output and global-state fixes Andrew Morton
  3 siblings, 2 replies; 13+ messages in thread
From: Song Hu @ 2026-08-12 12:08 UTC (permalink / raw)
  To: linux-mm, akpm
  Cc: shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko, peterx,
	linux-kselftest, linux-kernel, Song Hu

mremap_test calls ksft_set_plan() without ksft_print_header(), and its
get_mmap_min_addr() skip path uses a bare exit(KSFT_SKIP) that prints no
TAP line, so its output is not valid KTAP.  Add the header and switch the
skip to ksft_exit_skip().

Signed-off-by: Song Hu <husong@kylinos.cn>
---
 tools/testing/selftests/mm/mremap_test.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/mm/mremap_test.c b/tools/testing/selftests/mm/mremap_test.c
index 131d9d6db867..d055a4b3b024 100644
--- a/tools/testing/selftests/mm/mremap_test.c
+++ b/tools/testing/selftests/mm/mremap_test.c
@@ -111,18 +111,15 @@ static unsigned long long get_mmap_min_addr(void)
 		return addr;
 
 	fp = fopen("/proc/sys/vm/mmap_min_addr", "r");
-	if (fp == NULL) {
-		ksft_print_msg("Failed to open /proc/sys/vm/mmap_min_addr: %s\n",
-			strerror(errno));
-		exit(KSFT_SKIP);
-	}
+	if (!fp)
+		ksft_exit_skip("Failed to open /proc/sys/vm/mmap_min_addr: %s\n",
+			       strerror(errno));
 
 	n_matched = fscanf(fp, "%llu", &addr);
 	if (n_matched != 1) {
-		ksft_print_msg("Failed to read /proc/sys/vm/mmap_min_addr: %s\n",
-			strerror(errno));
 		fclose(fp);
-		exit(KSFT_SKIP);
+		ksft_exit_skip("Failed to read /proc/sys/vm/mmap_min_addr: %s\n",
+			       strerror(errno));
 	}
 
 	fclose(fp);
@@ -1250,6 +1247,8 @@ int main(int argc, char **argv)
 	time_t t;
 	FILE *maps_fp;
 
+	ksft_print_header();
+
 	pattern_seed = (unsigned int) time(&t);
 
 	if (parse_args(argc, argv, &threshold_mb, &pattern_seed) < 0)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline
  2026-08-12 12:08 [PATCH 0/3] selftests/mm: TAP output and global-state fixes Song Hu
  2026-08-12 12:08 ` [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap Song Hu
  2026-08-12 12:08 ` [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test Song Hu
@ 2026-08-12 12:08 ` Song Hu
  2026-08-12 13:42   ` Mike Rapoport
  2026-08-12 20:51 ` [PATCH 0/3] selftests/mm: TAP output and global-state fixes Andrew Morton
  3 siblings, 1 reply; 13+ messages in thread
From: Song Hu @ 2026-08-12 12:08 UTC (permalink / raw)
  To: linux-mm, akpm
  Cc: shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko, peterx,
	linux-kselftest, linux-kernel, Song Hu

hugetlb-soft-offline toggles /proc/sys/vm/enable_soft_offline between 1 and
0 (test_soft_offline_common(1) then (0)) and leaves it at 0 when it
finishes, silently disabling soft offlining for the whole system after the
run.  Read the original value before the test and restore it before
ksft_finished().

Signed-off-by: Song Hu <husong@kylinos.cn>
---
 .../selftests/mm/hugetlb-soft-offline.c       | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/tools/testing/selftests/mm/hugetlb-soft-offline.c b/tools/testing/selftests/mm/hugetlb-soft-offline.c
index bc202e4ed2bd..35dcf661b091 100644
--- a/tools/testing/selftests/mm/hugetlb-soft-offline.c
+++ b/tools/testing/selftests/mm/hugetlb-soft-offline.c
@@ -99,6 +99,23 @@ static int set_enable_soft_offline(int value)
 	return 0;
 }
 
+static int get_enable_soft_offline(void)
+{
+	FILE *fp = fopen("/proc/sys/vm/enable_soft_offline", "r");
+	int value = -1;
+
+	if (!fp) {
+		ksft_perror(EPREFIX "failed to read enable_soft_offline");
+		return -1;
+	}
+	if (fscanf(fp, "%d", &value) != 1) {
+		ksft_perror(EPREFIX "failed to parse enable_soft_offline");
+		value = -1;
+	}
+	fclose(fp);
+	return value;
+}
+
 static int create_hugetlbfs_file(struct statfs *file_stat)
 {
 	int fd;
@@ -185,6 +202,8 @@ static void test_soft_offline_common(int enable_soft_offline)
 
 int main(int argc, char **argv)
 {
+	int orig;
+
 	ksft_print_header();
 
 	if (!hugetlb_setup_default(8))
@@ -192,8 +211,13 @@ int main(int argc, char **argv)
 
 	ksft_set_plan(2);
 
+	orig = get_enable_soft_offline();
+
 	test_soft_offline_common(1);
 	test_soft_offline_common(0);
 
+	if (orig >= 0)
+		set_enable_soft_offline(orig);
+
 	ksft_finished();
 }
-- 
2.43.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline
  2026-08-12 12:08 ` [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline Song Hu
@ 2026-08-12 13:42   ` Mike Rapoport
  2026-08-15  6:35     ` Song Hu
  0 siblings, 1 reply; 13+ messages in thread
From: Mike Rapoport @ 2026-08-12 13:42 UTC (permalink / raw)
  To: Song Hu
  Cc: linux-mm, akpm, shuah, david, ljs, liam, vbabka, surenb, mhocko,
	peterx, linux-kselftest, linux-kernel

Hi,

On Wed, Aug 12, 2026 at 08:08:21PM +0800, Song Hu wrote:
> hugetlb-soft-offline toggles /proc/sys/vm/enable_soft_offline between 1 and
> 0 (test_soft_offline_common(1) then (0)) and leaves it at 0 when it
> finishes, silently disabling soft offlining for the whole system after the
> run.  Read the original value before the test and restore it before
> ksft_finished().
> 
> Signed-off-by: Song Hu <husong@kylinos.cn>
> ---
>  .../selftests/mm/hugetlb-soft-offline.c       | 24 +++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/tools/testing/selftests/mm/hugetlb-soft-offline.c b/tools/testing/selftests/mm/hugetlb-soft-offline.c
> index bc202e4ed2bd..35dcf661b091 100644
> --- a/tools/testing/selftests/mm/hugetlb-soft-offline.c
> +++ b/tools/testing/selftests/mm/hugetlb-soft-offline.c
> @@ -99,6 +99,23 @@ static int set_enable_soft_offline(int value)
>  	return 0;
>  }
>  
> +static int get_enable_soft_offline(void)
> +{
> +	FILE *fp = fopen("/proc/sys/vm/enable_soft_offline", "r");
> +	int value = -1;
> +
> +	if (!fp) {
> +		ksft_perror(EPREFIX "failed to read enable_soft_offline");
> +		return -1;
> +	}
> +	if (fscanf(fp, "%d", &value) != 1) {
> +		ksft_perror(EPREFIX "failed to parse enable_soft_offline");
> +		value = -1;
> +	}
> +	fclose(fp);
> +	return value;
> +}

We have read_num() in vm_util and write_num() that can replace
set_enable_soft_offline().

> +
>  static int create_hugetlbfs_file(struct statfs *file_stat)
>  {
>  	int fd;
> @@ -185,6 +202,8 @@ static void test_soft_offline_common(int enable_soft_offline)
>  
>  int main(int argc, char **argv)
>  {
> +	int orig;

Please spell out what orig is this.

> +
>  	ksft_print_header();
>  
>  	if (!hugetlb_setup_default(8))
> @@ -192,8 +211,13 @@ int main(int argc, char **argv)
>  
>  	ksft_set_plan(2);
>  
> +	orig = get_enable_soft_offline();
> +
>  	test_soft_offline_common(1);
>  	test_soft_offline_common(0);
>  
> +	if (orig >= 0)
> +		set_enable_soft_offline(orig);
> +
>  	ksft_finished();
>  }
> -- 
> 2.43.0
> 

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap
  2026-08-12 12:08 ` [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap Song Hu
@ 2026-08-12 13:42   ` Mike Rapoport
  2026-08-14  6:13   ` Sarthak Sharma
  1 sibling, 0 replies; 13+ messages in thread
From: Mike Rapoport @ 2026-08-12 13:42 UTC (permalink / raw)
  To: Song Hu
  Cc: linux-mm, akpm, shuah, david, ljs, liam, vbabka, surenb, mhocko,
	peterx, linux-kselftest, linux-kernel

On Wed, Aug 12, 2026 at 08:08:19PM +0800, Song Hu wrote:
> uffd-wp-mremap calls ksft_set_plan() with no preceding ksft_print_header(),
> so the "TAP version 13" line is never emitted and the output is not valid
> KTAP.  The sibling uffd tests (uffd-stress, uffd-unit-tests) print the
> header first; do the same.
> 
> Signed-off-by: Song Hu <husong@kylinos.cn>

Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  tools/testing/selftests/mm/uffd-wp-mremap.c | 2 ++
>  1 file changed, 2 insertions(+)

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test
  2026-08-12 12:08 ` [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test Song Hu
@ 2026-08-12 13:42   ` Mike Rapoport
  2026-08-14  6:30   ` Sarthak Sharma
  1 sibling, 0 replies; 13+ messages in thread
From: Mike Rapoport @ 2026-08-12 13:42 UTC (permalink / raw)
  To: Song Hu
  Cc: linux-mm, akpm, shuah, david, ljs, liam, vbabka, surenb, mhocko,
	peterx, linux-kselftest, linux-kernel

On Wed, Aug 12, 2026 at 08:08:20PM +0800, Song Hu wrote:
> mremap_test calls ksft_set_plan() without ksft_print_header(), and its
> get_mmap_min_addr() skip path uses a bare exit(KSFT_SKIP) that prints no
> TAP line, so its output is not valid KTAP.  Add the header and switch the
> skip to ksft_exit_skip().
> 
> Signed-off-by: Song Hu <husong@kylinos.cn>

Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  tools/testing/selftests/mm/mremap_test.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/3] selftests/mm: TAP output and global-state fixes
  2026-08-12 12:08 [PATCH 0/3] selftests/mm: TAP output and global-state fixes Song Hu
                   ` (2 preceding siblings ...)
  2026-08-12 12:08 ` [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline Song Hu
@ 2026-08-12 20:51 ` Andrew Morton
  2026-08-15  6:40   ` Song Hu
  3 siblings, 1 reply; 13+ messages in thread
From: Andrew Morton @ 2026-08-12 20:51 UTC (permalink / raw)
  To: Song Hu
  Cc: linux-mm, shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko,
	peterx, linux-kselftest, linux-kernel

On Wed, 12 Aug 2026 20:08:18 +0800 Song Hu <husong@kylinos.cn> wrote:

> uffd-wp-mremap and mremap_test never print the TAP header (and mremap_test
> skips with a bare exit(KSFT_SKIP) rather than a KTAP skip), so their output
> is not valid KTAP; hugetlb-soft-offline toggles enable_soft_offline during
> the run and leaves it disabled afterwards.

Thanks.  AI review found a couple of minor error-path issues, both of
which look legitimate to me.
	https://sashiko.dev/#/patchset/20260812120821.523860-1-husong@kylinos.cn

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap
  2026-08-12 12:08 ` [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap Song Hu
  2026-08-12 13:42   ` Mike Rapoport
@ 2026-08-14  6:13   ` Sarthak Sharma
  1 sibling, 0 replies; 13+ messages in thread
From: Sarthak Sharma @ 2026-08-14  6:13 UTC (permalink / raw)
  To: Song Hu, linux-mm, akpm
  Cc: shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko, peterx,
	linux-kselftest, linux-kernel



On 8/12/26 5:38 PM, Song Hu wrote:
> uffd-wp-mremap calls ksft_set_plan() with no preceding ksft_print_header(),
> so the "TAP version 13" line is never emitted and the output is not valid
> KTAP.  The sibling uffd tests (uffd-stress, uffd-unit-tests) print the
> header first; do the same.
> 
> Signed-off-by: Song Hu <husong@kylinos.cn>
> ---
Looks good to me.

Reviewed-by: Sarthak Sharma <sarthak.sharma@arm.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test
  2026-08-12 12:08 ` [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test Song Hu
  2026-08-12 13:42   ` Mike Rapoport
@ 2026-08-14  6:30   ` Sarthak Sharma
  2026-08-15  6:38     ` Song Hu
  1 sibling, 1 reply; 13+ messages in thread
From: Sarthak Sharma @ 2026-08-14  6:30 UTC (permalink / raw)
  To: Song Hu, linux-mm, akpm
  Cc: shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko, peterx,
	linux-kselftest, linux-kernel

Hi Song Hu!

On 8/12/26 5:38 PM, Song Hu wrote:
> mremap_test calls ksft_set_plan() without ksft_print_header(), and its
> get_mmap_min_addr() skip path uses a bare exit(KSFT_SKIP) that prints no
> TAP line, so its output is not valid KTAP.  Add the header and switch the
> skip to ksft_exit_skip().
> 
> Signed-off-by: Song Hu <husong@kylinos.cn>
> ---

While running the test, I saw that still some diagnostic lines are being
printed without being prefixed with a #. This is because of some prints
in the code of the format:

ksft_*("...\n\t...")

which is causing the part after the \n to not be prefixed with a #. If
you are planning for a respin, maybe you can include this in the same
patch so that the whole output becomes KTAP compliant :).

Rest of your changes look good. Once Sashiko's point on this patch has
been addressed, feel free to add

Reviewed-by: Sarthak Sharma <sarthak.sharma@arm.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline
  2026-08-12 13:42   ` Mike Rapoport
@ 2026-08-15  6:35     ` Song Hu
  0 siblings, 0 replies; 13+ messages in thread
From: Song Hu @ 2026-08-15  6:35 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: husong, linux-mm, akpm, shuah, david, ljs, liam, vbabka, surenb,
	mhocko, peterx, linux-kselftest, linux-kernel



在 2026/8/12 21:42, Mike Rapoport 写道:
> Hi,
> 
> On Wed, Aug 12, 2026 at 08:08:21PM +0800, Song Hu wrote:
>> hugetlb-soft-offline toggles /proc/sys/vm/enable_soft_offline between 1 and
>> 0 (test_soft_offline_common(1) then (0)) and leaves it at 0 when it
>> finishes, silently disabling soft offlining for the whole system after the
>> run.  Read the original value before the test and restore it before
>> ksft_finished().
>>
>> Signed-off-by: Song Hu <husong@kylinos.cn>
>> ---
>>  .../selftests/mm/hugetlb-soft-offline.c       | 24 +++++++++++++++++++
>>  1 file changed, 24 insertions(+)
>>
>> diff --git a/tools/testing/selftests/mm/hugetlb-soft-offline.c b/tools/testing/selftests/mm/hugetlb-soft-offline.c
>> index bc202e4ed2bd..35dcf661b091 100644
>> --- a/tools/testing/selftests/mm/hugetlb-soft-offline.c
>> +++ b/tools/testing/selftests/mm/hugetlb-soft-offline.c
>> @@ -99,6 +99,23 @@ static int set_enable_soft_offline(int value)
>>  	return 0;
>>  }
>>  
>> +static int get_enable_soft_offline(void)
>> +{
>> +	FILE *fp = fopen("/proc/sys/vm/enable_soft_offline", "r");
>> +	int value = -1;
>> +
>> +	if (!fp) {
>> +		ksft_perror(EPREFIX "failed to read enable_soft_offline");
>> +		return -1;
>> +	}
>> +	if (fscanf(fp, "%d", &value) != 1) {
>> +		ksft_perror(EPREFIX "failed to parse enable_soft_offline");
>> +		value = -1;
>> +	}
>> +	fclose(fp);
>> +	return value;
>> +}
> 
> We have read_num() in vm_util and write_num() that can replace
> set_enable_soft_offline().
> 
Will switch to them in v2 and drop both helpers.
>> +
>>  static int create_hugetlbfs_file(struct statfs *file_stat)
>>  {
>>  	int fd;
>> @@ -185,6 +202,8 @@ static void test_soft_offline_common(int enable_soft_offline)
>>  
>>  int main(int argc, char **argv)
>>  {
>> +	int orig;
> 
> Please spell out what orig is this.
> 
Will rename to orig_enable_soft_offline.

Also, per the error-path issue Andrew pointed out, v2 will register the
restore with atexit() so it also runs when the test exits via
ksft_exit_fail_msg(), like hugepage_restore_settings_atexit() in
hugepage_settings.c.

Thanks,
Song>> +
>>  	ksft_print_header();
>>  
>>  	if (!hugetlb_setup_default(8))
>> @@ -192,8 +211,13 @@ int main(int argc, char **argv)
>>  
>>  	ksft_set_plan(2);
>>  
>> +	orig = get_enable_soft_offline();
>> +
>>  	test_soft_offline_common(1);
>>  	test_soft_offline_common(0);
>>  
>> +	if (orig >= 0)
>> +		set_enable_soft_offline(orig);
>> +
>>  	ksft_finished();
>>  }
>> -- 
>> 2.43.0
>>
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test
  2026-08-14  6:30   ` Sarthak Sharma
@ 2026-08-15  6:38     ` Song Hu
  0 siblings, 0 replies; 13+ messages in thread
From: Song Hu @ 2026-08-15  6:38 UTC (permalink / raw)
  To: Sarthak Sharma, linux-mm, akpm
  Cc: husong, shuah, david, ljs, liam, vbabka, rppt, surenb, mhocko,
	peterx, linux-kselftest, linux-kernel


Hi, Sarthak
在 2026/8/14 14:30, Sarthak Sharma 写道:
> Hi Song Hu!
> 
> On 8/12/26 5:38 PM, Song Hu wrote:
>> mremap_test calls ksft_set_plan() without ksft_print_header(), and its
>> get_mmap_min_addr() skip path uses a bare exit(KSFT_SKIP) that prints no
>> TAP line, so its output is not valid KTAP.  Add the header and switch the
>> skip to ksft_exit_skip().
>>
>> Signed-off-by: Song Hu <husong@kylinos.cn>
>> ---
> 
> While running the test, I saw that still some diagnostic lines are being
> printed without being prefixed with a #. This is because of some prints
> in the code of the format:
> 
> ksft_*("...\n\t...")
> 
> which is causing the part after the \n to not be prefixed with a #. If
> you are planning for a respin, maybe you can include this in the same
> patch so that the whole output becomes KTAP compliant :).
> 
Thanks for your review!
Will fix those three call sites in v2.
The fclose()/errno one will also be addressed in v2.
> Rest of your changes look good. Once Sashiko's point on this patch has
> been addressed, feel free to add
> > Reviewed-by: Sarthak Sharma <sarthak.sharma@arm.com>
Sure.

Thanks,
Song

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/3] selftests/mm: TAP output and global-state fixes
  2026-08-12 20:51 ` [PATCH 0/3] selftests/mm: TAP output and global-state fixes Andrew Morton
@ 2026-08-15  6:40   ` Song Hu
  0 siblings, 0 replies; 13+ messages in thread
From: Song Hu @ 2026-08-15  6:40 UTC (permalink / raw)
  To: Andrew Morton
  Cc: husong, linux-mm, shuah, david, ljs, liam, vbabka, rppt, surenb,
	mhocko, peterx, linux-kselftest, linux-kernel

Hi, Andrew

在 2026/8/13 04:51, Andrew Morton 写道:
> On Wed, 12 Aug 2026 20:08:18 +0800 Song Hu <husong@kylinos.cn> wrote:
> 
>> uffd-wp-mremap and mremap_test never print the TAP header (and mremap_test
>> skips with a bare exit(KSFT_SKIP) rather than a KTAP skip), so their output
>> is not valid KTAP; hugetlb-soft-offline toggles enable_soft_offline during
>> the run and leaves it disabled afterwards.
> 
> Thanks.  AI review found a couple of minor error-path issues, both of
> which look legitimate to me.
> 	https://sashiko.dev/#/patchset/20260812120821.523860-1-husong@kylinos.cn

Agreed, both will be fixed in v2:

- hugetlb-soft-offline: restore via atexit() so it also runs on
  ksft_exit_fail_msg() exits, and use read_num()/write_num() per Mike's
  comment.

- mremap_test: save errno before fclose() in get_mmap_min_addr().

Thanks,
Song


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-08-15  6:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-12 12:08 [PATCH 0/3] selftests/mm: TAP output and global-state fixes Song Hu
2026-08-12 12:08 ` [PATCH 1/3] selftests/mm: emit TAP header in uffd-wp-mremap Song Hu
2026-08-12 13:42   ` Mike Rapoport
2026-08-14  6:13   ` Sarthak Sharma
2026-08-12 12:08 ` [PATCH 2/3] selftests/mm: emit TAP header and use TAP skip in mremap_test Song Hu
2026-08-12 13:42   ` Mike Rapoport
2026-08-14  6:30   ` Sarthak Sharma
2026-08-15  6:38     ` Song Hu
2026-08-12 12:08 ` [PATCH 3/3] selftests/mm: restore enable_soft_offline in hugetlb-soft-offline Song Hu
2026-08-12 13:42   ` Mike Rapoport
2026-08-15  6:35     ` Song Hu
2026-08-12 20:51 ` [PATCH 0/3] selftests/mm: TAP output and global-state fixes Andrew Morton
2026-08-15  6:40   ` Song Hu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®