diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-26 20:01:02 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-26 20:01:02 -0400 |
commit | 285e354b0abed7a02f2942df0e040d589dbdbd60 (patch) | |
tree | d2bbee92d33132a3ca93e5c8a43e1bd149a7548f | |
parent | 811ecc90963b7ffcbb51f3fc82c880f5a5550131 (diff) |
More tests have watchdogs now
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | tests/bcachefs/perf.ktest | 165 | ||||
-rw-r--r-- | tests/bcachefs/replication.ktest | 73 | ||||
-rw-r--r-- | tests/bcachefs/xfstests.ktest | 23 |
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 "$@" } |