Server IP : 172.67.216.182 / Your IP : 172.69.176.3 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/src/linux-headers-5.15.0-142/tools/testing/selftests/rseq/ |
Upload File : |
#!/bin/bash # SPDX-License-Identifier: GPL-2.0+ or MIT NR_CPUS=`grep '^processor' /proc/cpuinfo | wc -l` EXTRA_ARGS=${@} OLDIFS="$IFS" IFS=$'\n' TEST_LIST=( "-T s" "-T l" "-T b" "-T b -M" "-T m" "-T m -M" "-T i" "-T r" ) TEST_NAME=( "spinlock" "list" "buffer" "buffer with barrier" "memcpy" "memcpy with barrier" "increment" "membarrier" ) IFS="$OLDIFS" REPS=1000 SLOW_REPS=100 NR_THREADS=$((6*${NR_CPUS})) function do_tests() { local i=0 while [ "$i" -lt "${#TEST_LIST[@]}" ]; do echo "Running test ${TEST_NAME[$i]}" ./param_test ${TEST_LIST[$i]} -r ${REPS} -t ${NR_THREADS} ${@} ${EXTRA_ARGS} || exit 1 echo "Running compare-twice test ${TEST_NAME[$i]}" ./param_test_compare_twice ${TEST_LIST[$i]} -r ${REPS} -t ${NR_THREADS} ${@} ${EXTRA_ARGS} || exit 1 let "i++" done } echo "Default parameters" do_tests echo "Loop injection: 10000 loops" OLDIFS="$IFS" IFS=$'\n' INJECT_LIST=( "1" "2" "3" "4" "5" "6" "7" "8" "9" ) IFS="$OLDIFS" NR_LOOPS=10000 i=0 while [ "$i" -lt "${#INJECT_LIST[@]}" ]; do echo "Injecting at <${INJECT_LIST[$i]}>" do_tests -${INJECT_LIST[i]} ${NR_LOOPS} let "i++" done NR_LOOPS= function inject_blocking() { OLDIFS="$IFS" IFS=$'\n' INJECT_LIST=( "7" "8" "9" ) IFS="$OLDIFS" NR_LOOPS=-1 i=0 while [ "$i" -lt "${#INJECT_LIST[@]}" ]; do echo "Injecting at <${INJECT_LIST[$i]}>" do_tests -${INJECT_LIST[i]} -1 ${@} let "i++" done NR_LOOPS= } echo "Yield injection (25%)" inject_blocking -m 4 -y echo "Yield injection (50%)" inject_blocking -m 2 -y echo "Yield injection (100%)" inject_blocking -m 1 -y echo "Kill injection (25%)" inject_blocking -m 4 -k echo "Kill injection (50%)" inject_blocking -m 2 -k echo "Kill injection (100%)" inject_blocking -m 1 -k echo "Sleep injection (1ms, 25%)" inject_blocking -m 4 -s 1 echo "Sleep injection (1ms, 50%)" inject_blocking -m 2 -s 1 echo "Sleep injection (1ms, 100%)" inject_blocking -m 1 -s 1