All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: "xuyang2018.jy@fujitsu.com" <xuyang2018.jy@fujitsu.com>
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: Fri, 17 Dec 2021 11:34:46 +0100	[thread overview]
Message-ID: <Ybxnxs5t5lDpNS4U@pevik> (raw)
In-Reply-To: <61BC59C5.9090708@fujitsu.com>

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?

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-17 10:35 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 [this message]
2021-12-20  2:58         ` xuyang2018.jy
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=Ybxnxs5t5lDpNS4U@pevik \
    --to=pvorel@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=xuyang2018.jy@fujitsu.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.