Commit 661e0096 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'linux-kselftest-next-6.1-rc1-2' of...

Merge tag 'linux-kselftest-next-6.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull more Kselftest updates from Shuah Khan:
 "This consists of fixes and improvements to memory-hotplug test and a
  minor spelling fix to ftrace test"

* tag 'linux-kselftest-next-6.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  docs: notifier-error-inject: Correct test's name
  selftests/memory-hotplug: Adjust log info for maintainability
  selftests/memory-hotplug: Restore memory before exit
  selftests/memory-hotplug: Add checking after online or offline
  selftests/ftrace: func_event_triggers: fix typo in user message
parents d3cf4051 6a242471
...@@ -91,8 +91,8 @@ For more usage examples ...@@ -91,8 +91,8 @@ For more usage examples
There are tools/testing/selftests using the notifier error injection features There are tools/testing/selftests using the notifier error injection features
for CPU and memory notifiers. for CPU and memory notifiers.
* tools/testing/selftests/cpu-hotplug/on-off-test.sh * tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
* tools/testing/selftests/memory-hotplug/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 These scripts first do simple online and offline tests and then do fault
injection tests if notifier error injection module is available. injection tests if notifier error injection module is available.
...@@ -85,7 +85,7 @@ run_enable_disable() { ...@@ -85,7 +85,7 @@ run_enable_disable() {
echo $check_disable > $EVENT_ENABLE echo $check_disable > $EVENT_ENABLE
done done
sleep $SLEEP_TIME sleep $SLEEP_TIME
echo " make sure it's still works" echo " make sure it still works"
test_event_enabled $check_enable_star test_event_enabled $check_enable_star
reset_ftrace_filter reset_ftrace_filter
......
...@@ -134,6 +134,16 @@ offline_memory_expect_fail() ...@@ -134,6 +134,16 @@ offline_memory_expect_fail()
return 0 return 0
} }
online_all_offline_memory()
{
for memory in `hotpluggable_offline_memory`; do
if ! online_memory_expect_success $memory; then
echo "$FUNCNAME $memory: unexpected fail" >&2
retval=1
fi
done
}
error=-12 error=-12
priority=0 priority=0
# Run with default of ratio=2 for Kselftest run # Run with default of ratio=2 for Kselftest run
...@@ -197,8 +207,11 @@ echo -e "\t trying to offline $target out of $hotpluggable_num memory block(s):" ...@@ -197,8 +207,11 @@ echo -e "\t trying to offline $target out of $hotpluggable_num memory block(s):"
for memory in `hotpluggable_online_memory`; do for memory in `hotpluggable_online_memory`; do
if [ "$target" -gt 0 ]; then if [ "$target" -gt 0 ]; then
echo "online->offline memory$memory" echo "online->offline memory$memory"
if offline_memory_expect_success $memory; then if offline_memory_expect_success $memory &>/dev/null; then
target=$(($target - 1)) target=$(($target - 1))
echo "-> Success"
else
echo "-> Failure"
fi fi
fi fi
done done
...@@ -257,7 +270,7 @@ prerequisite_extra ...@@ -257,7 +270,7 @@ prerequisite_extra
echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
for memory in `hotpluggable_online_memory`; do for memory in `hotpluggable_online_memory`; do
if [ $((RANDOM % 100)) -lt $ratio ]; then if [ $((RANDOM % 100)) -lt $ratio ]; then
offline_memory_expect_success $memory offline_memory_expect_success $memory &>/dev/null
fi fi
done done
...@@ -266,16 +279,16 @@ done ...@@ -266,16 +279,16 @@ done
# #
echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
for memory in `hotpluggable_offline_memory`; do for memory in `hotpluggable_offline_memory`; do
online_memory_expect_fail $memory if ! online_memory_expect_fail $memory; then
retval=1
fi
done done
# #
# Online all hot-pluggable memory # Online all hot-pluggable memory
# #
echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_ONLINE/error
for memory in `hotpluggable_offline_memory`; do online_all_offline_memory
online_memory_expect_success $memory
done
# #
# Test memory hot-remove error handling (online => offline) # Test memory hot-remove error handling (online => offline)
...@@ -283,11 +296,18 @@ done ...@@ -283,11 +296,18 @@ done
echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
for memory in `hotpluggable_online_memory`; do for memory in `hotpluggable_online_memory`; do
if [ $((RANDOM % 100)) -lt $ratio ]; then if [ $((RANDOM % 100)) -lt $ratio ]; then
offline_memory_expect_fail $memory if ! offline_memory_expect_fail $memory; then
retval=1
fi
fi fi
done done
echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
/sbin/modprobe -q -r memory-notifier-error-inject /sbin/modprobe -q -r memory-notifier-error-inject
#
# Restore memory before exit
#
online_all_offline_memory
exit $retval exit $retval
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment