From: "xuyang2018.jy@fujitsu.com" <xuyang2018.jy@fujitsu.com>
To: Petr Vorel <pvorel@suse.cz>
Cc: "ltp@lists.linux.it" <ltp@lists.linux.it>
Subject: Re: [LTP] [PATCH v4 2/4] zram/zram_lib.sh: adapt the situation that zram device is being used
Date: Mon, 20 Dec 2021 02:58:49 +0000 [thread overview]
Message-ID: <61BFF174.4060403@fujitsu.com> (raw)
In-Reply-To: <Ybxnxs5t5lDpNS4U@pevik>
Hi Petr
> Hi Xu,
>
>>>> If zram-generator package is installed and works, then we can not remove zram module
>>>> because zram swap is being used. This case needs a clean zram environment, change this
>>>> test by using hot_add/hot_remove interface[1]. So even zram device is being used, we
>>>> still can add zram device and remove them in cleanup.
>
>>> BTW this was added in v4.2-rc1 (6 years ago, 6566d1a32bf7 ("zram: add dynamic
>>> device add/remove functionality")). Hopefully anybody still supporting older
>>> kernels is using old LTP for it.
>> Oh, I don't realize it before. I tested it on centos7 then I think this
>> control interface maybe introduced long time ago.
>
>> To be honst, I don't want to make this case more complex. How about
>> adding /sys/class/zram-control check after load zram module. If not,
>> just report case needs to use hot_add/hot_remove interface .
>
> Would it work something like this?
I don't want to use kernel version check because the hot_add/hot_remove
interface is easy to backport. I will send a v5
1) new kernel and not load zram kernel module, then modprobe and rmmod
is enough, doesn't need to use hot_add/hot_remove
2) new kernel and load zram kernel module or built in kernel, use
hot_add/hot_remove
3) old kernel and can be modprobe and rmmod, work as 1)
4)old kernel but is being used or built in kernel, then skip this case
like patch v3 does
Best Regards
Yang Xu
>
> ZRAM_SYSCTL_KERNEL_VERSION="4.2"
> ...
> zram_cleanup()
> {
> ...
> if tst_kvcmp -lt $ZRAM_SYSCTL_KERNEL_VERSION; then
> for i in $(seq $dev_start $dev_end); do
> echo $i> /sys/class/zram-control/hot_remove
> done
> fi
>
> zram_load()
> {
> ...
> if [ ! -d "/sys/class/zram-control" ]; then
> modprobe zram num_devices=$dev_num
> module_load=1
> dev_start=0
> dev_end=$(($dev_num - 1))
> tst_res TPASS "all zram devices(/dev/zram0~$dev_end) successfully created"
> return
> fi
>
> tst_kvcmp -lt $ZRAM_SYSCTL_KERNEL_VERSION&& \
> tst_brk TCONF "test requires kernel $ZRAM_SYSCTL_KERNEL_VERSION+"
>
> dev_start=$(ls /dev/zram* | wc -w)
> dev_end=$(($dev_start + $dev_num - 1))
>
> for i in $(seq $dev_start $dev_end); do
> cat /sys/class/zram-control/hot_add> /dev/null
> done
>
> Kind regards,
> Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2021-12-20 2:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 7:20 [LTP] [PATCH v4 1/4] swapping01: skip test if zram-swap is being used Yang Xu
2021-12-15 7:20 ` [LTP] [PATCH v4 2/4] zram/zram_lib.sh: adapt the situation that zram device " Yang Xu
2021-12-17 7:48 ` Petr Vorel
2021-12-17 9:34 ` xuyang2018.jy
2021-12-17 10:34 ` Petr Vorel
2021-12-20 2:58 ` xuyang2018.jy [this message]
2021-12-20 8:52 ` Petr Vorel
2021-12-17 7:49 ` Petr Vorel
2021-12-15 7:20 ` [LTP] [PATCH v4 3/4] zram/zram03: Convert into new api Yang Xu
2021-12-17 8:22 ` Petr Vorel
2021-12-17 9:42 ` xuyang2018.jy
2021-12-17 8:24 ` Petr Vorel
2021-12-15 7:20 ` [LTP] [PATCH v4 4/4] zram/zram01.sh: Use mem_used_total field instead of compr_data_size field Yang Xu
2021-12-17 8:47 ` Petr Vorel
2021-12-17 9:45 ` xuyang2018.jy
2021-12-17 10:36 ` Petr Vorel
2021-12-17 7:01 ` [LTP] [PATCH v4 1/4] swapping01: skip test if zram-swap is being used Petr Vorel
2021-12-17 7:04 ` xuyang2018.jy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=61BFF174.4060403@fujitsu.com \
--to=xuyang2018.jy@fujitsu.com \
--cc=ltp@lists.linux.it \
--cc=pvorel@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox