* [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* 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 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
* [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* 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 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 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
* [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 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 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 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