~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/cgroup/with_stress.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/testing/selftests/cgroup/with_stress.sh (Version linux-6.12-rc7) and /tools/testing/selftests/cgroup/with_stress.sh (Version linux-5.0.21)


  1 #!/bin/bash                                       
  2 # SPDX-License-Identifier: GPL-2.0                
  3                                                   
  4 # Kselftest framework requirement - SKIP code     
  5 ksft_skip=4                                       
  6                                                   
  7 stress_fork()                                     
  8 {                                                 
  9         while true ; do                           
 10                 /usr/bin/true                     
 11                 sleep 0.01                        
 12         done                                      
 13 }                                                 
 14                                                   
 15 stress_subsys()                                   
 16 {                                                 
 17         local verb=+                              
 18         while true ; do                           
 19                 echo $verb$subsys_ctrl >$sysfs    
 20                 [ $verb = "+" ] && verb=- || v    
 21                 # incommensurable period with     
 22                 sleep 0.011                       
 23         done                                      
 24 }                                                 
 25                                                   
 26 init_and_check()                                  
 27 {                                                 
 28         sysfs=`mount -t cgroup2 | head -1 | aw    
 29         if [ ! -d "$sysfs" ]; then                
 30                 echo "Skipping: cgroup2 is not    
 31                 exit $ksft_skip                   
 32         fi                                        
 33                                                   
 34         if ! echo +$subsys_ctrl >$sysfs/cgroup    
 35                 echo "Skipping: cannot enable     
 36                 exit $ksft_skip                   
 37         fi                                        
 38                                                   
 39         if ! echo -$subsys_ctrl >$sysfs/cgroup    
 40                 echo "Skipping: cannot disable    
 41                 exit $ksft_skip                   
 42         fi                                        
 43 }                                                 
 44                                                   
 45 declare -a stresses                               
 46 declare -a stress_pids                            
 47 duration=5                                        
 48 rc=0                                              
 49 subsys_ctrl=cpuset                                
 50 sysfs=                                            
 51                                                   
 52 while getopts c:d:hs: opt; do                     
 53         case $opt in                              
 54         c)                                        
 55                 subsys_ctrl=$OPTARG               
 56                 ;;                                
 57         d)                                        
 58                 duration=$OPTARG                  
 59                 ;;                                
 60         h)                                        
 61                 echo "Usage $0 [ -s stress ] .    
 62                 echo -e "\t default duration $    
 63                 echo -e "\t default controller    
 64                 exit                              
 65                 ;;                                
 66         s)                                        
 67                 func=stress_$OPTARG               
 68                 if [ "x$(type -t $func)" != "x    
 69                         echo "Unknown stress $    
 70                         exit 1                    
 71                 fi                                
 72                 stresses+=($func)                 
 73                 ;;                                
 74         esac                                      
 75 done                                              
 76 shift $((OPTIND - 1))                             
 77                                                   
 78 init_and_check                                    
 79                                                   
 80 for s in ${stresses[*]} ; do                      
 81         $s &                                      
 82         stress_pids+=($!)                         
 83 done                                              
 84                                                   
 85                                                   
 86 time=0                                            
 87 start=$(date +%s)                                 
 88                                                   
 89 while [ $time -lt $duration ] ; do                
 90         $*                                        
 91         rc=$?                                     
 92         [ $rc -eq 0 ] || break                    
 93         time=$(($(date +%s) - $start))            
 94 done                                              
 95                                                   
 96 for pid in ${stress_pids[*]} ; do                 
 97         kill -SIGTERM $pid                        
 98         wait $pid                                 
 99 done                                              
100                                                   
101 exit $rc                                          
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php