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

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/zram/zram01.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/zram/zram01.sh (Architecture alpha) and /tools/testing/selftests/zram/zram01.sh (Architecture i386)


  1 #!/bin/bash                                         1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0-or-later         2 # SPDX-License-Identifier: GPL-2.0-or-later
  3 # Copyright (c) 2015 Oracle and/or its affilia      3 # Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved.
  4 #                                                   4 #
  5 # Test creates several zram devices with diffe      5 # Test creates several zram devices with different filesystems on them.
  6 # It fills each device with zeros and checks t      6 # It fills each device with zeros and checks that compression works.
  7 #                                                   7 #
  8 # Author: Alexey Kodanev <alexey.kodanev@oracle      8 # Author: Alexey Kodanev <alexey.kodanev@oracle.com>
  9 # Modified: Naresh Kamboju <naresh.kamboju@lina      9 # Modified: Naresh Kamboju <naresh.kamboju@linaro.org>
 10                                                    10 
 11 TCID="zram01"                                      11 TCID="zram01"
 12 ERR_CODE=0                                         12 ERR_CODE=0
 13                                                    13 
 14 . ./zram_lib.sh                                    14 . ./zram_lib.sh
 15                                                    15 
 16 # Test will create the following number of zra     16 # Test will create the following number of zram devices:
 17 dev_num=1                                          17 dev_num=1
 18 # This is a list of parameters for zram device     18 # This is a list of parameters for zram devices.
 19 # Number of items must be equal to 'dev_num' p     19 # Number of items must be equal to 'dev_num' parameter.
 20 zram_max_streams="2"                               20 zram_max_streams="2"
 21                                                    21 
 22 # The zram sysfs node 'disksize' value can be      22 # The zram sysfs node 'disksize' value can be either in bytes,
 23 # or you can use mem suffixes. But in some old     23 # or you can use mem suffixes. But in some old kernels, mem
 24 # suffixes are not supported, for example, in      24 # suffixes are not supported, for example, in RHEL6.6GA's kernel
 25 # layer, it uses strict_strtoull() to parse di     25 # layer, it uses strict_strtoull() to parse disksize which does
 26 # not support mem suffixes, in some newer kern     26 # not support mem suffixes, in some newer kernels, they use
 27 # memparse() which supports mem suffixes. So h     27 # memparse() which supports mem suffixes. So here we just use
 28 # bytes to make sure everything works correctl     28 # bytes to make sure everything works correctly.
 29 zram_sizes="2097152" # 2MB                         29 zram_sizes="2097152" # 2MB
 30 zram_mem_limits="2M"                               30 zram_mem_limits="2M"
 31 zram_filesystems="ext4"                            31 zram_filesystems="ext4"
 32 zram_algs="lzo"                                    32 zram_algs="lzo"
 33                                                    33 
 34 zram_fill_fs()                                     34 zram_fill_fs()
 35 {                                                  35 {
 36         for i in $(seq $dev_start $dev_end); d     36         for i in $(seq $dev_start $dev_end); do
 37                 echo "fill zram$i..."              37                 echo "fill zram$i..."
 38                 local b=0                          38                 local b=0
 39                 while [ true ]; do                 39                 while [ true ]; do
 40                         dd conv=notrunc if=/de     40                         dd conv=notrunc if=/dev/zero of=zram${i}/file \
 41                                 oflag=append c     41                                 oflag=append count=1 bs=1024 status=none \
 42                                 > /dev/null 2>     42                                 > /dev/null 2>&1 || break
 43                         b=$(($b + 1))              43                         b=$(($b + 1))
 44                 done                               44                 done
 45                 echo "zram$i can be filled wit     45                 echo "zram$i can be filled with '$b' KB"
 46                                                    46 
 47                 local mem_used_total=`awk '{pr     47                 local mem_used_total=`awk '{print $3}' "/sys/block/zram$i/mm_stat"`
 48                 local v=$((100 * 1024 * $b / $     48                 local v=$((100 * 1024 * $b / $mem_used_total))
 49                 if [ "$v" -lt 100 ]; then          49                 if [ "$v" -lt 100 ]; then
 50                          echo "FAIL compressio     50                          echo "FAIL compression ratio: 0.$v:1"
 51                          ERR_CODE=-1               51                          ERR_CODE=-1
 52                          return                    52                          return
 53                 fi                                 53                 fi
 54                                                    54 
 55                 echo "zram compression ratio:      55                 echo "zram compression ratio: $(echo "scale=2; $v / 100 " | bc):1: OK"
 56         done                                       56         done
 57 }                                                  57 }
 58                                                    58 
 59 check_prereqs                                      59 check_prereqs
 60 zram_load                                          60 zram_load
 61 zram_max_streams                                   61 zram_max_streams
 62 zram_compress_alg                                  62 zram_compress_alg
 63 zram_set_disksizes                                 63 zram_set_disksizes
 64 zram_set_memlimit                                  64 zram_set_memlimit
 65 zram_makefs                                        65 zram_makefs
 66 zram_mount                                         66 zram_mount
 67                                                    67 
 68 zram_fill_fs                                       68 zram_fill_fs
 69 zram_cleanup                                       69 zram_cleanup
 70                                                    70 
 71 if [ $ERR_CODE -ne 0 ]; then                       71 if [ $ERR_CODE -ne 0 ]; then
 72         echo "$TCID : [FAIL]"                      72         echo "$TCID : [FAIL]"
 73 else                                               73 else
 74         echo "$TCID : [PASS]"                      74         echo "$TCID : [PASS]"
 75 fi                                                 75 fi
                                                      

~ [ 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