Hi,
We can not get the EBUSY from " echo 0 > /sys/devices/system/memory/memoryxxx/online", maybe, redirect the error ouput to /dev/null is suitable when calling offline_memory_expect_success():
# sh mem-on-off-test.sh -a mem-on-off-test.sh: illegal option -- a Test scope: 2% hotplug memory online all hot-pluggable memory in offline state: SKIPPED - no hot-pluggable memory in offline state offline 2% hot-pluggable memory in online state trying to offline 4 out of 192 memory block(s): online->offline memory0 online->offline memory10 online->offline memory100 online->offline memory101 online->offline memory102 online->offline memory103 online->offline memory104 online->offline memory105 online->offline memory106 online->offline memory107 online->offline memory108 online->offline memory109 online->offline memory11 online->offline memory110 online->offline memory111 online->offline memory112 online->offline memory113 online->offline memory114 online->offline memory115 online->offline memory116 online->offline memory117 online->offline memory118 online->offline memory119 online->offline memory12 online->offline memory120 online->offline memory121 online->offline memory122 online->offline memory123 online->offline memory124 online all hot-pluggable memory in offline state: offline->online memory121 offline->online memory122 offline->online memory123 offline->online memory124 Test with memory notifier error injection # echo $? 0
Thanks! Gongyi
Reviewed-by: David Hildenbrand david@redhat.com
I am questioning the stability of the offlining test, though. Offlining a random memory block can fail easily, because "->removable" is not expressive:
# tools/testing/selftests/memory-hotplug/mem-on-off-test.sh Test scope: 2% hotplug memory online all hot-pluggable memory in offline state: SKIPPED - no hot-pluggable memory in offline state offline 2% hot-pluggable memory in online state trying to offline 2 out of 96 memory block(s): online->offline memory0 tools/testing/selftests/memory-hotplug/mem-on-off-test.sh: line 78: echo: write error: Invalid argument offline_memory_expect_success 0: unexpected fail online->offline memory10 online->offline memory11
I guess this test will almost always fail nowadays.
Offline some memory node maybe failed as expected, but the error message
is a bit annoying.
Ah, I see it now. We try offlining two and fail offlining the first one. Can we silence that warning in that case somehow?
-- Thanks,
David / dhildenb
On 29.09.22 09:39, zhaogongyi wrote:
Hi,
We can not get the EBUSY from " echo 0 > /sys/devices/system/memory/memoryxxx/online", maybe, redirect the error ouput to /dev/null is suitable when calling offline_memory_expect_success():
# sh mem-on-off-test.sh -a mem-on-off-test.sh: illegal option -- a Test scope: 2% hotplug memory online all hot-pluggable memory in offline state: SKIPPED - no hot-pluggable memory in offline state offline 2% hot-pluggable memory in online state trying to offline 4 out of 192 memory block(s): online->offline memory0 online->offline memory10 online->offline memory100 online->offline memory101 online->offline memory102 online->offline memory103 online->offline memory104 online->offline memory105 online->offline memory106 online->offline memory107 online->offline memory108 online->offline memory109 online->offline memory11 online->offline memory110 online->offline memory111 online->offline memory112 online->offline memory113 online->offline memory114 online->offline memory115 online->offline memory116 online->offline memory117 online->offline memory118 online->offline memory119 online->offline memory12 online->offline memory120 online->offline memory121 online->offline memory122 online->offline memory123 online->offline memory124
Can we have here an output like
online->offline memory0 -> Failure online->offline memory10 -> Success
That would make much more sense for debugging purposes and understanding what is happening here. I was primarily concerned about the misleading error message, that indicated that something is "unexpected" -- it's perfectly reasonable here to *expect* that offlining a random memory blocks just fails.
linux-kselftest-mirror@lists.linaro.org