public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
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

  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