summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-06-26 20:01:02 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-06-26 20:01:02 -0400
commit285e354b0abed7a02f2942df0e040d589dbdbd60 (patch)
treed2bbee92d33132a3ca93e5c8a43e1bd149a7548f
parent811ecc90963b7ffcbb51f3fc82c880f5a5550131 (diff)
More tests have watchdogs now
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--tests/bcachefs/perf.ktest165
-rw-r--r--tests/bcachefs/replication.ktest73
-rw-r--r--tests/bcachefs/xfstests.ktest23
3 files changed, 164 insertions, 97 deletions
diff --git a/tests/bcachefs/perf.ktest b/tests/bcachefs/perf.ktest
index ee228b7..afb97f5 100644
--- a/tests/bcachefs/perf.ktest
+++ b/tests/bcachefs/perf.ktest
@@ -11,27 +11,39 @@ if [[ $KERNEL_ARCH = x86 ]]; then
require-kernel-config CRYPTO_CRC32C_INTEL
fi
-config-mem 8G
-config-scratch-devs 8G
-config-timeout 600
+btree_node_size=512k
+t=12
+
+config-mem 16G
+config-scratch-devs 32G
+config-timeout 180
+config-cpus $t
-btree_node_size=8k
n=10M
-t=4
perf_mkfs()
{
- bcachefs format \
+ run_quiet "" bcachefs format \
--errors=panic \
- /dev/sdb >/dev/null
- #--bucket=$btree_node_size \
- #--btree_node_size=$btree_node_size \
- mount /dev/sdb /mnt
+ --bucket=$btree_node_size \
+ --btree_node_size=$btree_node_size \
+ --no_initialize \
+ --version=11 \
+ /dev/sdb
+ mount -t bcachefs -o version_upgrade /dev/sdb /mnt
+ bcachefs device resize-journal /dev/sdb 1G
+ sleep 1
+ bcachefs device resize-journal /dev/sdb 2G
+ sleep 1
+ bcachefs device resize-journal /dev/sdb 3G
+ sleep 1
+ bcachefs device resize-journal /dev/sdb 4G
ln -sf /sys/fs/bcachefs/*/perf_test p
}
test_insert_overwrite()
{
+ set_watchdog 180
perf_mkfs
echo seq_insert $n 1 > p
@@ -43,65 +55,148 @@ test_insert_overwrite()
test_perf_profile()
{
+ set_watchdog 180
perf_mkfs
- perf_4.14 record -g -o seq_insert -- echo seq_insert $n 1 > p
- perf_4.14 record -g -o seq_lookup -- echo seq_lookup $n 1 > p
+ perf record -g -o seq_insert -- echo seq_insert $n 1 > p
+ perf record -g -o seq_lookup -- echo seq_lookup $n 1 > p
- perf_4.14 stat -- echo seq_lookup $n 1 > p
+ perf stat -- echo seq_lookup $n 1 > p
- #perf_4.14 record -g -o seq_delete -- echo seq_delete $n 1 > p
+ #perf record -g -o seq_delete -- echo seq_delete $n 1 > p
umount /mnt
}
-test_merge_torture()
+test_perf_rand_insert_multi()
{
+ set_watchdog 600
+ settle=0
+
perf_mkfs
- while true; do
- echo seq_insert $n 1 > p
- echo seq_delete $n 1 > p
- done
+ #perf_4.19 record -a -- echo rand_insert_multi $n $t > p
+ #exit
+
+ echo rand_insert $n 1 > p
+ echo seq_delete $n 1 > p
+ sleep $settle
+
+ echo rand_insert $n $t > p
+ echo seq_delete $n 1 > p
+ sleep $settle
+
+ echo rand_insert_multi $n 1 > p
+ echo seq_delete $n 1 > p
+ sleep $settle
+
+ echo rand_insert_multi $n $t > p
+ sleep $settle
+}
+
+test_perf_all_profile()
+{
+ set_watchdog 600
+ settle=0
+
+ perf_mkfs
+ echo starting benches
+
+ perf record -ao /ktest-out/seq_insert -- echo seq_insert $n 1 > p
+ sleep $settle
+ perf record -o /ktest-out/seq_lookup -- echo seq_lookup $n 1 > p
+ sleep $settle
+ perf record -ao /ktest-out/seq_delete -- echo seq_delete $n 1 > p
+ sleep $settle
+
+ perf record -ao /ktest-out/rand_insert -- echo rand_insert $n 1 > p
+ sleep $settle
+ perf record -ao /ktest-out/seq_delete -- echo seq_delete $n 1 > p
+ sleep $settle
+ perf record -ao /ktest-out/rand_insert_multikey -- echo rand_insert_multi $n 1 > p
+ sleep $settle
+ echo seq_delete $n 1 > p
+ sleep $settle
+ perf record -ao /ktest-out/rand_insert_mt -- echo rand_insert $n $t > p
+ sleep $settle
+
+ perf record -o /ktest-out/rand_lookup -- echo rand_lookup $n 1 > p
+ sleep $settle
+ perf record -ao /ktest-out/rand_lookup_mt -- echo rand_lookup $n $t > p
+ sleep $settle
+
+ perf record -ao /ktest-out/rand_mixed -- echo rand_mixed $n 1 > p
+ sleep $settle
+ perf record -ao /ktest-out/rand_mixed_mt -- echo rand_mixed $n $t > p
+ sleep $settle
umount /mnt
}
test_perf_all()
{
+ set_watchdog 600
settle=0
perf_mkfs
- #while true; do
- echo starting benches
+ echo starting benches
- echo seq_insert $n 1 > p
- sleep $settle
- echo seq_lookup $n 1 > p
- sleep $settle
- echo seq_delete $n 1 > p
- sleep $settle
+ echo seq_insert $n 1 > p
+ sleep $settle
+ echo seq_lookup $n 1 > p
+ sleep $settle
+ echo seq_delete $n 1 > p
+ sleep $settle
+
+ echo rand_insert $n 1 > p
+ sleep $settle
+ echo seq_delete $n 1 > p
+ sleep $settle
+
+ #echo rand_insert_multi $n 1 > p
+ #sleep $settle
+ #echo seq_delete $n 1 > p
+ #sleep $settle
+
+ echo rand_insert $n $t > p
+ sleep $settle
+
+ echo rand_lookup $n 1 > p
+ sleep $settle
+ echo rand_lookup $n $t > p
+ sleep $settle
+
+ echo rand_mixed $n 1 > p
+ sleep $settle
+ echo rand_mixed $n $t > p
+ sleep $settle
+ umount /mnt
+}
- echo rand_insert $n 1 > p
- sleep $settle
+test_perf_lookup()
+{
+ set_watchdog 600
+ settle=0
+
+ perf_mkfs
+ echo starting benches
+
+ for n in 10M 20M 50M 100M; do
echo seq_delete $n 1 > p
sleep $settle
+
echo rand_insert $n $t > p
sleep $settle
-
echo rand_lookup $n 1 > p
sleep $settle
echo rand_lookup $n $t > p
- sleep $settle
+ done
- echo rand_mixed $n 1 > p
- sleep $settle
- echo rand_mixed $n $t > p
- sleep $settle
#done
umount /mnt
}
do_unit_tests()
{
+ set_watchdog 60
perf_mkfs
for i in $@; do
diff --git a/tests/bcachefs/replication.ktest b/tests/bcachefs/replication.ktest
index 31ea161..da14cb8 100644
--- a/tests/bcachefs/replication.ktest
+++ b/tests/bcachefs/replication.ktest
@@ -18,6 +18,8 @@ config-timeout $(stress_timeout)
test_recovery()
{
+ set_watchdog 180
+
run_quiet "" bcachefs format \
--discard \
--bucket=64k \
@@ -49,37 +51,10 @@ test_recovery()
done
}
-disabled_test_assemble()
-{
- run_quiet "" bcachefs format \
- --errors=panic \
- --discard \
- /dev/sd[bcd]
-
- bcachefs assemble /dev/sd[bcd]
-
- mount -t bcachefs /dev/sdb /mnt
- umount /mnt
-}
-
-disabled_test_assemble_incremental()
-{
- run_quiet "" bcachefs format \
- --errors=panic \
- /dev/sd[bcd]
-
- bcachefs incremental /dev/sdb
- bcachefs incremental /dev/sdc
- bcachefs incremental /dev/sdd
-
- mount -t bcachefs /dev/sdb /mnt
- umount /mnt
-}
-
test_multimount()
{
+ set_watchdog 10
bcachefs format \
- --errors=panic \
/dev/sdb
mkdir -p /mnt/1 /mnt/2
@@ -98,6 +73,7 @@ test_twodevices()
test_largebuckets()
{
+ set_watchdog 30
run_quiet "" bcachefs format -f --bucket=8M /dev/sd[bcd]
mount -t bcachefs /dev/sdb:/dev/sdc:/dev/sdd /mnt
@@ -114,7 +90,8 @@ test_replicas()
test_replicas_variable_buckets()
{
- run_quiet "" bcachefs format -f --errors=panic \
+ set_watchdog 60
+ run_quiet "" bcachefs format -f \
--replicas=2 \
--bucket=32k /dev/sdb \
--bucket=64k /dev/sdc \
@@ -133,9 +110,9 @@ d_test_copygc_torture()
loops=$((($ktest_priority + 1) * 4))
bcachefs_antagonist
+ set_watchdog 600
run_quiet "" bcachefs format -f \
- --errors=panic \
"$@" /dev/sd[bcd]
mount -t bcachefs /dev/sdb:/dev/sdc:/dev/sdd /mnt
@@ -180,6 +157,7 @@ d_test_copygc_torture()
do_remove_test()
{
+ set_watchdog 60
offline=$1
evacuate=$2
@@ -253,11 +231,11 @@ test_device_evacuate_online()
test_device_add()
{
+ set_watchdog 40
#setup_tracing 'bcachefs:*'
run_quiet "" bcachefs format \
--block_size=4k \
- --errors=panic \
--no_initialize \
/dev/sdb
@@ -286,8 +264,9 @@ test_device_add()
test_device_set_state()
{
+ set_watchdog 30
+
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/sd[bcd]
@@ -317,9 +296,10 @@ test_device_set_state()
test_device_ro()
{
+ set_watchdog 30
+
run_quiet "" bcachefs format \
--btree_node_size=128k \
- --errors=panic \
/dev/sd[bcd]
mount -t bcachefs /dev/sdb:/dev/sdc:/dev/sdd /mnt
@@ -345,8 +325,8 @@ test_device_ro()
test_device_set_state_offline()
{
+ set_watchdog 60
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/sd[bcd]
@@ -376,8 +356,8 @@ test_device_set_state_offline()
test_device_readd()
{
+ set_watchdog 40
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/sd[bc]
@@ -410,6 +390,7 @@ test_device_readd()
do_replicas_errors_test()
{
+ set_watchdog 180
error_type=$1
echo 1 > /sys/module/bcachefs/parameters/verify_all_btree_replicas
@@ -418,7 +399,6 @@ do_replicas_errors_test()
mdadm -B /dev/md0 -lfaulty -n1 /dev/sdc
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/md0 /dev/sdb
@@ -453,8 +433,9 @@ test_replicas_read_errors()
test_cmd_fs_usage()
{
+ set_watchdog 20
+
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
--bucket=128k \
/dev/sd[bcd]
@@ -482,8 +463,8 @@ test_cmd_fs_usage()
test_rereplicate()
{
+ set_watchdog 60
run_quiet "" bcachefs format \
- --errors=panic \
/dev/sd[bcd]
mount -t bcachefs /dev/sdb:/dev/sdc:/dev/sdd /mnt
@@ -527,11 +508,11 @@ disabled_test_device_add_faults()
test_striping()
{
+ set_watchdog 60
setup_tracing 'bcachefs:*'
if false; then
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/sd[bc]
@@ -545,7 +526,6 @@ test_striping()
dd if=/dev/zero of=/mnt/test1 bs=1M count=1024 oflag=direct
else
run_quiet "" bcachefs format \
- --errors=panic \
--data_checksum=none \
--replicas=2 \
--label cache \
@@ -571,7 +551,6 @@ test_striping()
disabled_change_replicas()
{
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/sd[bc]
@@ -602,7 +581,6 @@ disabled_change_replicas()
disabled_change_replicas2()
{
run_quiet "" bcachefs format \
- --errors=panic \
--replicas=2 \
/dev/sd[bc]
@@ -622,11 +600,12 @@ disabled_change_replicas2()
test_replicas_gc()
{
+ set_watchdog 60
+
echo 1 > /sys/module/bcachefs/parameters/force_reconstruct_read
#echo 1 > /sys/module/bcachefs/parameters/debug_check_bkeys
run_quiet "" bcachefs format -f \
- --errors=panic \
--replicas=2 \
/dev/sd[bcdef]
devs=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf
@@ -648,7 +627,9 @@ test_replicas_gc()
test_replace_replica()
{
- bcachefs format --errors=panic --replicas=2 /dev/sd[bc]
+ set_watchdog 60
+
+ bcachefs format --replicas=2 /dev/sd[bc]
mount -t bcachefs -o degraded /dev/sdb /mnt
bcachefs device add -f /mnt /dev/sdd
@@ -665,7 +646,9 @@ test_replace_replica()
test_key_type_error()
{
- bcachefs format --errors=panic --replicas=2 /dev/sd[bc]
+ set_watchdog 20
+
+ bcachefs format --replicas=2 /dev/sd[bc]
mount -t bcachefs /dev/sdb:/dev/sdc /mnt
bcachefs setattr --data_replicas=1 /mnt
diff --git a/tests/bcachefs/xfstests.ktest b/tests/bcachefs/xfstests.ktest
index 0e81ab9..eff3b92 100644
--- a/tests/bcachefs/xfstests.ktest
+++ b/tests/bcachefs/xfstests.ktest
@@ -18,23 +18,12 @@ config-cpus 24
run_tests()
{
- #echo 1 > /sys/module/bcachefs/parameters/expensive_debug_checks
- #echo 1 > /sys/module/bcachefs/parameters/debug_check_iterators
- #echo 1 > /sys/module/bcachefs/parameters/debug_check_bkeys
- #echo 1 > /sys/module/bcachefs/parameters/test_alloc_startup
- #echo 1 > /sys/module/bcachefs/parameters/test_restart_gc
- #echo 1 > /sys/module/bcachefs/parameters/test_reconstruct_alloc
- #echo 1 > /sys/module/bcachefs/parameters/verify_btree_ondisk
- #echo "file alloc_background.c +p" > /sys/kernel/debug/dynamic_debug/control
-
- #echo 409600 > /sys/kernel/debug/tracing/buffer_size_kb
- #echo 1 > /sys/kernel/debug/tracing/tracing_on
- #echo > /sys/kernel/debug/tracing/trace
-
- #bcachefs_antagonist
-
- export MKFS_OPTIONS=--errors=panic
- #echo 1 > /sys/module/bcachefs/parameters/journal_seq_verify
+ #echo trace_printk > /sys/kernel/debug/tracing/trace_options
+ setup_tracing 'bcachefs:*'
+
+ bcachefs_antagonist
+
+ export MKFS_OPTIONS="--encrypted --no_passphrase"
run_xfstests bcachefs "$@"
}