* [PATCH -next v3 0/3] Optimize and bugfix for memory-hotplug
@ 2022-09-26 13:03 Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline Zhao Gongyi
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Zhao Gongyi @ 2022-09-26 13:03 UTC (permalink / raw)
To: linux-doc, linux-kernel, linux-mm, linux-kselftest
Cc: akinobu.mita, corbet, david, osalvador, shuah, Zhao Gongyi
1. Add checking after online or offline
2. Restore memory before exit
3. Correct test's name
Changes in v3:
- Remove 2 obselute patches
Zhao Gongyi (3):
selftests/memory-hotplug: Add checking after online or offline
selftests/memory-hotplug: Restore memory before exit
docs: notifier-error-inject: Correct test's name
.../fault-injection/notifier-error-inject.rst | 4 +--
.../memory-hotplug/mem-on-off-test.sh | 29 +++++++++++++++----
2 files changed, 26 insertions(+), 7 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline
2022-09-26 13:03 [PATCH -next v3 0/3] Optimize and bugfix for memory-hotplug Zhao Gongyi
@ 2022-09-26 13:03 ` Zhao Gongyi
2022-09-26 13:27 ` David Hildenbrand
2022-09-26 13:03 ` [PATCH -next v3 2/3] selftests/memory-hotplug: Restore memory before exit Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 3/3] docs: notifier-error-inject: Correct test's name Zhao Gongyi
2 siblings, 1 reply; 6+ messages in thread
From: Zhao Gongyi @ 2022-09-26 13:03 UTC (permalink / raw)
To: linux-doc, linux-kernel, linux-mm, linux-kselftest
Cc: akinobu.mita, corbet, david, osalvador, shuah, Zhao Gongyi
Add checking for online_memory_expect_success()/
offline_memory_expect_success()/offline_memory_expect_fail(), or
the test would exit 0 although the functions return 1.
Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
---
.../selftests/memory-hotplug/mem-on-off-test.sh | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
index 46a97f318f58..3edda1f13f7b 100755
--- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
+++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
@@ -266,7 +266,10 @@ done
#
echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
for memory in `hotpluggable_offline_memory`; do
- online_memory_expect_fail $memory
+ online_memory_expect_fail $memory || {
+ echo "online memory $memory: unexpected success"
+ retval=1
+ }
done
#
@@ -274,7 +277,10 @@ done
#
echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
for memory in `hotpluggable_offline_memory`; do
- online_memory_expect_success $memory
+ online_memory_expect_success $memory || {
+ echo "online memory $memory: unexpected fail"
+ retval=1
+ }
done
#
@@ -283,7 +289,10 @@ done
echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
for memory in `hotpluggable_online_memory`; do
if [ $((RANDOM % 100)) -lt $ratio ]; then
- offline_memory_expect_fail $memory
+ offline_memory_expect_fail $memory || {
+ echo "offline memory $memory: unexpected success"
+ retval=1
+ }
fi
done
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline
2022-09-26 13:03 ` [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline Zhao Gongyi
@ 2022-09-26 13:27 ` David Hildenbrand
0 siblings, 0 replies; 6+ messages in thread
From: David Hildenbrand @ 2022-09-26 13:27 UTC (permalink / raw)
To: Zhao Gongyi, linux-doc, linux-kernel, linux-mm, linux-kselftest
Cc: akinobu.mita, corbet, osalvador, shuah
On 26.09.22 15:03, Zhao Gongyi wrote:
> Add checking for online_memory_expect_success()/
> offline_memory_expect_success()/offline_memory_expect_fail(), or
> the test would exit 0 although the functions return 1.
>
> Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
> ---
> .../selftests/memory-hotplug/mem-on-off-test.sh | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> index 46a97f318f58..3edda1f13f7b 100755
> --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> @@ -266,7 +266,10 @@ done
> #
> echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
> for memory in `hotpluggable_offline_memory`; do
> - online_memory_expect_fail $memory
> + online_memory_expect_fail $memory || {
> + echo "online memory $memory: unexpected success"
The functions themself already print an error, isn't it sufficient to
set retval=1?
> + retval=1
> + }
> done
>
> #
> @@ -274,7 +277,10 @@ done
> #
> echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
> for memory in `hotpluggable_offline_memory`; do
> - online_memory_expect_success $memory
> + online_memory_expect_success $memory || {
> + echo "online memory $memory: unexpected fail"
> + retval=1
> + }
> done
>
> #
> @@ -283,7 +289,10 @@ done
> echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
> for memory in `hotpluggable_online_memory`; do
> if [ $((RANDOM % 100)) -lt $ratio ]; then
> - offline_memory_expect_fail $memory
> + offline_memory_expect_fail $memory || {
> + echo "offline memory $memory: unexpected success"
> + retval=1
> + }
These functions return 0 if the result is as expected and 1 if the
result is unexpected.
... but wouldn't we evaluate the right hand side only if the result is
"0" -- expected? I might be wrong.
Wouldn't it be simpler do it as in "Online all hot-pluggable memory again"
if ! online_memory_expect_success $memory; then
retval=1
fi
(similarly adjusting the function name)
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH -next v3 2/3] selftests/memory-hotplug: Restore memory before exit
2022-09-26 13:03 [PATCH -next v3 0/3] Optimize and bugfix for memory-hotplug Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline Zhao Gongyi
@ 2022-09-26 13:03 ` Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 3/3] docs: notifier-error-inject: Correct test's name Zhao Gongyi
2 siblings, 0 replies; 6+ messages in thread
From: Zhao Gongyi @ 2022-09-26 13:03 UTC (permalink / raw)
To: linux-doc, linux-kernel, linux-mm, linux-kselftest
Cc: akinobu.mita, corbet, david, osalvador, shuah, Zhao Gongyi
Some momory will be left in offline state when calling
offline_memory_expect_fail() failed. Restore it before exit.
Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
---
.../memory-hotplug/mem-on-off-test.sh | 22 ++++++++++++++-----
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
index 3edda1f13f7b..6173859d3379 100755
--- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
+++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
@@ -134,6 +134,16 @@ offline_memory_expect_fail()
return 0
}
+online_all_offline_memory()
+{
+ for memory in `hotpluggable_offline_memory`; do
+ online_memory_expect_success $memory || {
+ echo "online memory $memory: unexpected fail"
+ retval=1
+ }
+ done
+}
+
error=-12
priority=0
# Run with default of ratio=2 for Kselftest run
@@ -276,12 +286,7 @@ done
# Online all hot-pluggable memory
#
echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
-for memory in `hotpluggable_offline_memory`; do
- online_memory_expect_success $memory || {
- echo "online memory $memory: unexpected fail"
- retval=1
- }
-done
+online_all_offline_memory
#
# Test memory hot-remove error handling (online => offline)
@@ -299,4 +304,9 @@ done
echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
/sbin/modprobe -q -r memory-notifier-error-inject
+#
+# Restore memory before exit
+#
+online_all_offline_memory
+
exit $retval
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH -next v3 3/3] docs: notifier-error-inject: Correct test's name
2022-09-26 13:03 [PATCH -next v3 0/3] Optimize and bugfix for memory-hotplug Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 2/3] selftests/memory-hotplug: Restore memory before exit Zhao Gongyi
@ 2022-09-26 13:03 ` Zhao Gongyi
2 siblings, 0 replies; 6+ messages in thread
From: Zhao Gongyi @ 2022-09-26 13:03 UTC (permalink / raw)
To: linux-doc, linux-kernel, linux-mm, linux-kselftest
Cc: akinobu.mita, corbet, david, osalvador, shuah, Zhao Gongyi
Correct test's name for mem-on-off-test.sh/cpu-on-off-test.sh.
Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
Documentation/fault-injection/notifier-error-inject.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/fault-injection/notifier-error-inject.rst b/Documentation/fault-injection/notifier-error-inject.rst
index 1668b6e48d3a..fdf2dc433ead 100644
--- a/Documentation/fault-injection/notifier-error-inject.rst
+++ b/Documentation/fault-injection/notifier-error-inject.rst
@@ -91,8 +91,8 @@ For more usage examples
There are tools/testing/selftests using the notifier error injection features
for CPU and memory notifiers.
- * tools/testing/selftests/cpu-hotplug/on-off-test.sh
- * tools/testing/selftests/memory-hotplug/on-off-test.sh
+ * tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
+ * tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
These scripts first do simple online and offline tests and then do fault
injection tests if notifier error injection module is available.
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline
@ 2022-09-27 1:36 zhaogongyi
0 siblings, 0 replies; 6+ messages in thread
From: zhaogongyi @ 2022-09-27 1:36 UTC (permalink / raw)
To: David Hildenbrand, linux-doc, linux-kernel, linux-mm, linux-kselftest
Cc: akinobu.mita, corbet, osalvador, shuah
>
> On 26.09.22 15:03, Zhao Gongyi wrote:
> > Add checking for online_memory_expect_success()/
> > offline_memory_expect_success()/offline_memory_expect_fail(), or
> the
> > test would exit 0 although the functions return 1.
> >
> > Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
> > ---
> > .../selftests/memory-hotplug/mem-on-off-test.sh | 15
> ++++++++++++---
> > 1 file changed, 12 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> > b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> > index 46a97f318f58..3edda1f13f7b 100755
> > --- a/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> > +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh
> > @@ -266,7 +266,10 @@ done
> > #
> > echo $error >
> $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
> > for memory in `hotpluggable_offline_memory`; do
> > - online_memory_expect_fail $memory
> > + online_memory_expect_fail $memory || {
> > + echo "online memory $memory: unexpected success"
>
> The functions themself already print an error, isn't it sufficient to set
> retval=1?
Indeed, this function is only called once. It is no need to add the log info.
>
> > + retval=1
> > + }
> > done
> >
> > #
> > @@ -274,7 +277,10 @@ done
> > #
> > echo 0 >
> $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
> > for memory in `hotpluggable_offline_memory`; do
> > - online_memory_expect_success $memory
> > + online_memory_expect_success $memory || {
> > + echo "online memory $memory: unexpected fail"
> > + retval=1
> > + }
> > done
> >
> > #
> > @@ -283,7 +289,10 @@ done
> > echo $error >
> $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
> > for memory in `hotpluggable_online_memory`; do
> > if [ $((RANDOM % 100)) -lt $ratio ]; then
> > - offline_memory_expect_fail $memory
> > + offline_memory_expect_fail $memory || {
> > + echo "offline memory $memory: unexpected success"
> > + retval=1
> > + }
>
> These functions return 0 if the result is as expected and 1 if the result is
> unexpected.
>
> ... but wouldn't we evaluate the right hand side only if the result is "0" --
> expected? I might be wrong.
>
Yes, if offline_memory_expect_fail's return value is not zero, then it will set 'retval=1'
>
> Wouldn't it be simpler do it as in "Online all hot-pluggable memory again"
>
> if ! online_memory_expect_success $memory; then
> retval=1
> fi
>
> (similarly adjusting the function name)
I will send a new version of the patch to fix it.
Kind regards,
Gongyi
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-09-27 1:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-26 13:03 [PATCH -next v3 0/3] Optimize and bugfix for memory-hotplug Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline Zhao Gongyi
2022-09-26 13:27 ` David Hildenbrand
2022-09-26 13:03 ` [PATCH -next v3 2/3] selftests/memory-hotplug: Restore memory before exit Zhao Gongyi
2022-09-26 13:03 ` [PATCH -next v3 3/3] docs: notifier-error-inject: Correct test's name Zhao Gongyi
2022-09-27 1:36 [PATCH -next v3 1/3] selftests/memory-hotplug: Add checking after online or offline zhaogongyi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).