Hi Minchan,
On Mon, Nov 07, 2022 at 08:11:35PM +0100, Petr Vorel wrote:
Hi all,
following bug is trying to workaround an error on ppc64le, where zram01.sh LTP test (there is also kernel selftest tools/testing/selftests/zram/zram01.sh, but LTP test got further updates) has often mem_used_total 0 although zram is already filled.
Hi, Petr,
Is it happening on only ppc64le?
I haven't seen it on other archs (x86_64, aarch64).
Is it a new regression? What kernel version did you use?
Found on openSUSE kernel, which uses stable kernel releases 6.0.x. It's probably much older, first I've seen it some years ago (I'm not able to find kernel version), but it was random. Now it's much more common.
Test runs on VM (I can give qemu command or whatever you need to know about it) I'll try to verify it on some bare metal ppc64le.
Actually, mem_used_total indicates how many *physical memory* were currently used to keep original data size.
However, if the test data is repeated pattern of unsigned long (https://github.com/torvalds/linux/blob/master/drivers/block/zram/zram_drv.c#...) zram doesn't allocate the physical memory but just mark the unsigned long's value in meta area for decompression later.
Not sure you hit the this case.
Thanks for a hint, I'll try to debug it.
Kind regards, Petr
Patch tries to repeatedly read /sys/block/zram*/mm_stat for 1 sec, waiting for mem_used_total > 0. The question if this is expected and should be workarounded or a bug which should be fixed.
REPRODUCE THE ISSUE Quickest way to install only zram tests and their dependencies: make autotools && ./configure && for i in testcases/lib/ testcases/kernel/device-drivers/zram/; do cd $i && make -j$(getconf _NPROCESSORS_ONLN) && make install && cd -; done
Run the test (only on vfat) PATH="/opt/ltp/testcases/bin:$PATH" LTP_SINGLE_FS_TYPE=vfat zram01.sh
Petr Vorel (1): zram01.sh: Workaround division by 0 on vfat on ppc64le
.../kernel/device-drivers/zram/zram01.sh | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-)
-- 2.38.0