diff mbox series

[v4,4/4] zram/zram01.sh: Use mem_used_total field instead of compr_data_size field

Message ID 1639552849-2251-4-git-send-email-xuyang2018.jy@fujitsu.com
State Changes Requested
Headers show
Series [v4,1/4] swapping01: skip test if zram-swap is being used | expand

Commit Message

Yang Xu \(Fujitsu\) Dec. 15, 2021, 7:20 a.m. UTC
Before ltp commit 4372f7a2156 ("Fix compression ratio calculation in zram01")[1], we
used free -m changes to calculate the compression ratio.

After the above patch, we used compr_data_size to calculate. kernel documentation[2] has
the following info:
orig_data_size: uncompressed size of data stored in this disk.
compr_data_size: compressed size of data stored in this disk
mem_used_total: the amount of memory allocated for this disk

We should calculate the compression ratio by used disk size divided into used mem size.
It can also avoid the situation that division by 0 as below:
zram01 7 TINFO: filling zram4 (it can take long time)
zram01 7 TPASS: zram4 was filled with '25568' KB
zram01 7 TINFO: compr_size 0
 /opt/ltp/testcases/bin/zram01.sh: line 131: 100 * 1024 * 25568 / 0: division by 0 (error token is "0")

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
 testcases/kernel/device-drivers/zram/zram01.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Petr Vorel Dec. 17, 2021, 8:47 a.m. UTC | #1
Hi,

[ Cc Martin ]

> Before ltp commit 4372f7a2156 ("Fix compression ratio calculation in zram01")[1], we
> used free -m changes to calculate the compression ratio.

> After the above patch, we used compr_data_size to calculate. kernel documentation[2] has
> the following info:
> orig_data_size: uncompressed size of data stored in this disk.
> compr_data_size: compressed size of data stored in this disk
> mem_used_total: the amount of memory allocated for this disk

> We should calculate the compression ratio by used disk size divided into used mem size.
> It can also avoid the situation that division by 0 as below:
> zram01 7 TINFO: filling zram4 (it can take long time)
> zram01 7 TPASS: zram4 was filled with '25568' KB
> zram01 7 TINFO: compr_size 0
>  /opt/ltp/testcases/bin/zram01.sh: line 131: 100 * 1024 * 25568 / 0: division by 0 (error token is "0")

Thank you for addressing this issue. replacing "data *stored* in this disk" with
"*allocated* for this disk" could help (although looking at kernel code
mm_stat_show(), I would not be sure).

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr
Yang Xu \(Fujitsu\) Dec. 17, 2021, 9:45 a.m. UTC | #2
Hi Petr
> Hi,
>
> [ Cc Martin ]
>
>> Before ltp commit 4372f7a2156 ("Fix compression ratio calculation in zram01")[1], we
>> used free -m changes to calculate the compression ratio.
>
>> After the above patch, we used compr_data_size to calculate. kernel documentation[2] has
>> the following info:
>> orig_data_size: uncompressed size of data stored in this disk.
>> compr_data_size: compressed size of data stored in this disk
>> mem_used_total: the amount of memory allocated for this disk
>
>> We should calculate the compression ratio by used disk size divided into used mem size.
>> It can also avoid the situation that division by 0 as below:
>> zram01 7 TINFO: filling zram4 (it can take long time)
>> zram01 7 TPASS: zram4 was filled with '25568' KB
>> zram01 7 TINFO: compr_size 0
>>   /opt/ltp/testcases/bin/zram01.sh: line 131: 100 * 1024 * 25568 / 0: division by 0 (error token is "0")
>
> Thank you for addressing this issue. replacing "data *stored* in this disk" with
> "*allocated* for this disk" could help (although looking at kernel code
> mm_stat_show(), I would not be sure).
Sound reasonable.

Will send a v5 next week and wait some time to listen more advise from 
others for this patchset.

Best Regards
Yang Xu
>
> Reviewed-by: Petr Vorel<pvorel@suse.cz>
>
> Kind regards,
> Petr
Petr Vorel Dec. 17, 2021, 10:36 a.m. UTC | #3
Reviewed-by: Petr Vorel <pvorel@suse.cz>
diff mbox series

Patch

diff --git a/testcases/kernel/device-drivers/zram/zram01.sh b/testcases/kernel/device-drivers/zram/zram01.sh
index 5e13f387c..5b4c05434 100755
--- a/testcases/kernel/device-drivers/zram/zram01.sh
+++ b/testcases/kernel/device-drivers/zram/zram01.sh
@@ -125,8 +125,8 @@  zram_fill_fs()
 			continue
 		fi
 
-		local compr_size=`awk '{print $2}' "/sys/block/zram$i/mm_stat"`
-		local v=$((100 * 1024 * $b / $compr_size))
+		local mem_used_total=`awk '{print $3}' "/sys/block/zram$i/mm_stat"`
+		local v=$((100 * 1024 * $b / $mem_used_total))
 		local r=`echo "scale=2; $v / 100 " | bc`
 
 		if [ "$v" -lt 100 ]; then