From patchwork Fri Dec 10 11:40:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1566450 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=fdydPfD8; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J9TVs2sWTz9sCD for ; Fri, 10 Dec 2021 22:40:52 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 15FE93C8137 for ; Fri, 10 Dec 2021 12:40:49 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [IPv6:2001:4b78:1:20::6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 0208A3C0761 for ; Fri, 10 Dec 2021 12:40:47 +0100 (CET) Received: from mail1.bemta34.messagelabs.com (mail1.bemta34.messagelabs.com [195.245.231.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id AC8671400740 for ; Fri, 10 Dec 2021 12:40:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1639136445; i=@fujitsu.com; bh=97cjEoC9TjYMb7unMJSQ0hzf2GTirX4eDkYvOLmRKC8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fdydPfD81YTR/zZhs05i1Fa8AH620jSrZIaLv49QXTRR5bbutW9jji7gfiF2yLXvw 0gmVIFuNsqa4Xu8qWtysmRlQEBqv51yNdmIWTVbiad/e9eCCLuAvuUGPVWv2dVHJr0 w/E2eeK1GRgyW0d8Sqp1yIJZvBpb+xwq4TyOT8Qpsbu48nzmUDN7yP+1O46MOfvzN+ sB2CJ9fJRJfQAJcxle5AVkA19lCGGfxLXGek+N0PR6ijnEWbqcqrnqDzCKtpePrmye N/PdnlllTKz42p03l0n8NT7DECUuIENBYc65FSgDm+zP9ySqHMLFPXFDKkwcBn8wGs Q5KVCuQv1SB9A== Received: from [100.115.39.64] (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits)) by server-3.bemta.az-a.eu-west-2.aws.ess.symcld.net id 06/76-09428-DBC33B16; Fri, 10 Dec 2021 11:40:45 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIIsWRWlGSWpSXmKPExsViZ8MxRXevzeZ Eg1tr5C1WfN/B6MDose/3OtYAxijWzLyk/IoE1ow1n1+yFNzhrPh9YDtbA+Maji5GLg4hgSYm ieeXrrFAOHsYJWbM/MfcxcjJwSagKfGscwGYLSIgIdHR8JYdxGYWUJdYPukXUxcjB4ewgIfEn 1e5IGEWAVWJu80L2UDCvEDhxn4OkLCEgILElIfvwaZwApXM/w/SyQm0SkVix+UGNhCbV0BQ4u TMJywQ0yUkDr54wQzRqyhxqeMbI4RdITFrVhvTBEb+WUhaZiFpWcDItIrROqkoMz2jJDcxM0f X0MBA19DQVNfYUtfI0EwvsUo3US+1VLc8tbhE10gvsbxYL7W4WK+4Mjc5J0UvL7VkEyMwJFOK 1W/sYHx/6ZveIUZJDiYlUV6x35sShfiS8lMqMxKLM+KLSnNSiw8xynBwKEnwMlpvThQSLEpNT 61Iy8wBxgdMWoKDR0mEdyNImre4IDG3ODMdInWKUVFKnNcCJCEAksgozYNrg8XkJUZZKWFeRg YGBiGegtSi3MwSVPlXjOIcjErCvJogU3gy80rgpr8CWswEtNi5ZT3I4pJEhJRUA9OK2FtN/x5 cdRNgfXSvVVHrzscj6vJTxM/9YmtinKCYGxQY/v//VInJ3iph/NoRk07mL6oxZ3rpXrXdgT/d 9FhTQ+HXasXtrKpRuRcSepe9e8T+yfiG3UVBGYe+L9FZmlInrDbduhfU/vVl8+H6UKXZica1c +SfffRcv6RWTO9CmcSr3M5J37oqTuozL/pU3FGns+tJgPv99U2FAVIWkjOnS9w/tSfHoWaxRf /+oLaO712xmktb9R77n7v/3rWl6lb2soq/tqlC6+PTKqxO+x/ka5iXWpb8fNvvI/y3HP63etY bbff4qvFvQX/rtE3H+Kp3LLfYO+93/Ios6VwOmQ1h065uzpq1kuP2wYv5O5VYijMSDbWYi4oT AbGccXREAwAA X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-11.tower-571.messagelabs.com!1639136445!20844!1 X-Originating-IP: [62.60.8.148] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.81.7; banners=-,-,- X-VirusChecked: Checked Received: (qmail 17131 invoked from network); 10 Dec 2021 11:40:45 -0000 Received: from unknown (HELO mailhost1.uk.fujitsu.com) (62.60.8.148) by server-11.tower-571.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 10 Dec 2021 11:40:45 -0000 Received: from R01UKEXCASM126.r01.fujitsu.local ([10.183.43.178]) by mailhost1.uk.fujitsu.com (8.14.5/8.14.5) with ESMTP id 1BABePtQ022674 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for ; Fri, 10 Dec 2021 11:40:45 GMT Received: from localhost.localdomain (10.167.220.84) by R01UKEXCASM126.r01.fujitsu.local (10.183.43.178) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 10 Dec 2021 11:40:23 +0000 From: Yang Xu To: Date: Fri, 10 Dec 2021 19:40:46 +0800 Message-ID: <1639136448-2148-1-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [10.167.220.84] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM126.r01.fujitsu.local (10.183.43.178) X-Virus-Scanned: clamav-milter 0.102.4 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-6.smtp.seeweb.it Subject: [LTP] [PATCH v2 1/3] swapping01: skip test if zram-swap is being used X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" For the swapping test we attempt to allocate 130% of the available RAM and we make sure that the overflow would fit the swap, but as long as swap is backed by RAM this obviously false. So skip it if zram-swap is being used. Fixes: #888 Signed-off-by: Yang Xu Reviewed-by: Cyril Hrubis --- testcases/kernel/mem/swapping/swapping01.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/testcases/kernel/mem/swapping/swapping01.c b/testcases/kernel/mem/swapping/swapping01.c index 392b79d65..aef47e9a4 100644 --- a/testcases/kernel/mem/swapping/swapping01.c +++ b/testcases/kernel/mem/swapping/swapping01.c @@ -40,10 +40,10 @@ #include #include -#include #include #include #include +#include "tst_safe_stdio.h" #include "lapi/abisize.h" #include "mem.h" @@ -67,6 +67,14 @@ static void test_swapping(void) #ifdef TST_ABI32 tst_brk(TCONF, "test is not designed for 32-bit system."); #endif + FILE *file; + char line[PATH_MAX]; + + file = SAFE_FOPEN("/proc/swaps", "r"); + while (fgets(line, sizeof(line), file)) { + if (strstr(line, "/dev/zram")) + tst_brk(TCONF, "zram-swap is being used!"); + } init_meminfo(); From patchwork Fri Dec 10 11:40:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1566451 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=JcIdSZ7p; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J9TWF1Dmzz9sCD for ; Fri, 10 Dec 2021 22:41:13 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 1D94C3C7FF1 for ; Fri, 10 Dec 2021 12:41:10 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [IPv6:2001:4b78:1:20::6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id C34EF3C0761 for ; Fri, 10 Dec 2021 12:41:07 +0100 (CET) Received: from mail3.bemta32.messagelabs.com (mail3.bemta32.messagelabs.com [195.245.230.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 1BAA51400C47 for ; Fri, 10 Dec 2021 12:41:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1639136466; i=@fujitsu.com; bh=7cMRrZv7Q/hoxvWUkj2MDjNaH6bwKkChv0RAloOHWzk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JcIdSZ7pOUVX8cAPed/mmhVefhDZMHvqs6g07nd0kSXaXN9x98NnR82mH2QGT8LiB hMYymPm2tDzboMO+p9JrYgikjhJft3it7jbs0rJVLU4hP2/s9Fwt+YrDgGjHvxl0R9 1D5wZplXTKy4IoFjvHXIU6Nh7+LF9yC2+YAMMf0EGJyDchSzw/ZmiEMbIOJMkWQcMK 8+vVVJi+eNyzbib922MfJf8xnZOsEprLtHpz1fNZfu7N6gKeqzmKRz4o+Vz8KFM5md LpgA7eQQi30WUc6RltKFKfwrRvgkF7X5DArLoHYtvI418FC9lpHIbtGUlxBCxC3uiv uMutUREXSZbrg== Received: from [100.115.1.47] (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits)) by server-2.bemta.az-a.eu-west-1.aws.ess.symcld.net id 42/CE-10124-2DC33B16; Fri, 10 Dec 2021 11:41:06 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNIsWRWlGSWpSXmKPExsViZ8MxSfeizeZ EgxXr9S1WfN/B6MDose/3OtYAxijWzLyk/IoE1ozL39uYCpbwVcyYeIylgfEzdxcjF4eQwFlG iYa+Y0wQzk4miYnbjjBCOHsYJT7+XsLexcjJwSagKfGscwEziC0iICHR0fAWLM4soC6xfNIvJ hBbWCBU4lnPG7AaFgFViW9/DrGB2LwCHhJvd+5gBbElBBQkpjx8D1bDKeAp8bt5N1iNkECSxP Ndqxgh6gUlTs58wgIxX0Li4IsXzBC9ihKXOr4xQtgVErNmtTFB2GoSV89tYp7AKDgLSfssJO0 LGJlWMVolFWWmZ5TkJmbm6BoaGOgaGprqmgBZhnqJVbqJeqmluuWpxSW6QG55sV5qcbFecWVu ck6KXl5qySZGYBinFLOk7mDs6/upd4hRkoNJSZRX7PemRCG+pPyUyozE4oz4otKc1OJDjDIcH EoSvIzWmxOFBItS01Mr0jJzgDEFk5bg4FES4d0IkuYtLkjMLc5Mh0idYlSUEud9A5IQAElklO bBtcHi+BKjrJQwLyMDA4MQT0FqUW5mCar8K0ZxDkYlYV5pYFIQ4snMK4Gb/gpoMRPQYueW9SC LSxIRUlINTFaqzwtV6gLXH/2Q+lHS04yX56ejbhKb8Np1FZ7GovHvzpnttYpeM/9USNvliA35 2YdCDVKfys6f8Unv34dzYjtOi/xKYrz26EKLn+KyQ7OmbXzb1bruneaTl90f1l8z/13czmtmG bPletGLrAvT/h/ckaT43uteZ/gN20M98TEnprBazm4NzuZ8r3v29Jb7v0Vm/l2VU7OqJiHTzv RwuQDXzAWtXcvXfp60//TEZPEjPxq+Kku/33F+jdKm+GOxX6ZteivtPNm93l2tSjb935/c56y /vTSvHWHJ1Hd0NTr+xI3hRs4zvau7YlT0ykPNi6ZPejG/O2DF3jNaH2ak63mzdmyf2mIiY1Wg 0iuveEOJpTgj0VCLuag4EQBPc68vXgMAAA== X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-2.tower-585.messagelabs.com!1639136465!67236!1 X-Originating-IP: [62.60.8.146] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.81.7; banners=-,-,- X-VirusChecked: Checked Received: (qmail 14072 invoked from network); 10 Dec 2021 11:41:05 -0000 Received: from unknown (HELO n03ukasimr02.n03.fujitsu.local) (62.60.8.146) by server-2.tower-585.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 10 Dec 2021 11:41:05 -0000 Received: from n03ukasimr02.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr02.n03.fujitsu.local (Postfix) with ESMTP id 3E843100441 for ; Fri, 10 Dec 2021 11:41:05 +0000 (GMT) Received: from R01UKEXCASM126.r01.fujitsu.local (unknown [10.183.43.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr02.n03.fujitsu.local (Postfix) with ESMTPS id 30069100353 for ; Fri, 10 Dec 2021 11:41:05 +0000 (GMT) Received: from localhost.localdomain (10.167.220.84) by R01UKEXCASM126.r01.fujitsu.local (10.183.43.178) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 10 Dec 2021 11:40:29 +0000 From: Yang Xu To: Date: Fri, 10 Dec 2021 19:40:47 +0800 Message-ID: <1639136448-2148-2-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1639136448-2148-1-git-send-email-xuyang2018.jy@fujitsu.com> References: <1639136448-2148-1-git-send-email-xuyang2018.jy@fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.220.84] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM126.r01.fujitsu.local (10.183.43.178) X-Virus-Scanned: clamav-milter 0.102.4 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-6.smtp.seeweb.it Subject: [LTP] [PATCH v2 2/3] zram/zram_lib.sh: Skip test if zram module can not be removed X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" If zram-generator package is installed and works, then we can not remove zram module because zram swap is being used. We can also use zramstart command or similar shell script(use zramctl,mkswap,swapon) to do this. Since zram01.sh and zram02.sh needs to rmmod and modprobe, they can't work well if zram module can't be removed. So skip it. Fixes: #888 Signed-off-by: Yang Xu --- testcases/kernel/device-drivers/zram/zram_lib.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/testcases/kernel/device-drivers/zram/zram_lib.sh b/testcases/kernel/device-drivers/zram/zram_lib.sh index fe9c915c3..4fed1f17c 100755 --- a/testcases/kernel/device-drivers/zram/zram_lib.sh +++ b/testcases/kernel/device-drivers/zram/zram_lib.sh @@ -5,6 +5,7 @@ dev_makeswap=-1 dev_mounted=-1 +dev_zram_load=-1 TST_NEEDS_TMPDIR=1 TST_NEEDS_ROOT=1 @@ -17,6 +18,10 @@ zram_cleanup() { local i + if [ $dev_zram_load -le 0 ]; then + return + fi + for i in $(seq 0 $dev_makeswap); do swapoff /dev/zram$i done @@ -47,6 +52,11 @@ zram_load() tst_brk TBROK "dev_num must be > 0" fi + lsmod | grep -q '^zram' + if [ $? -eq 0 ]; then + rmmod zram > /dev/null 2>&1 || tst_brk TCONF "zram module is being used" + fi + tst_set_timeout $((dev_num*450)) tst_res TINFO "create '$dev_num' zram device(s)" @@ -54,10 +64,12 @@ zram_load() modprobe zram num_devices=$dev_num || \ tst_brk TBROK "failed to insert zram module" + dev_zram_load=1 dev_num_created=$(ls /dev/zram* | wc -w) if [ "$dev_num_created" -ne "$dev_num" ]; then - tst_brk TFAIL "unexpected num of devices: $dev_num_created" + tst_brk TFAIL "expected num of devices $dev_num, but created"\ + "$dev_num_created" fi tst_res TPASS "all zram devices successfully created" From patchwork Fri Dec 10 11:40:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1566452 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=CBTZAetA; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J9TWR4Clnz9sCD for ; Fri, 10 Dec 2021 22:41:23 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id EB1303C8014 for ; Fri, 10 Dec 2021 12:41:20 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-5.smtp.seeweb.it (in-5.smtp.seeweb.it [217.194.8.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id D0C7B3C130C for ; Fri, 10 Dec 2021 12:41:07 +0100 (CET) Received: from mail1.bemta36.messagelabs.com (mail1.bemta36.messagelabs.com [85.158.142.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-5.smtp.seeweb.it (Postfix) with ESMTPS id 13C7360086C for ; Fri, 10 Dec 2021 12:41:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1639136466; i=@fujitsu.com; bh=ZV1bhpbE8V0legvThtDXh7IzCmnKQhgzPcYx+kthAI8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CBTZAetAG5ZYeARSCZhZj8UbiGpsY18tnjglYt2tu9JjOERn3fdUg+PHwa/ii19FE m4ZHm5gu5VUusBnwtXgVlHgvLYv3zFAA7E4od4hV/UH/xpSr3CGCQvmAau/6jgW0k1 nR+Hh5wwshwtJgrIHVgdQx0B9W8EYYQyOpXNbTGydAwEX++Zyz37tNSSkc+IyVuWsr MoTzXHJ4E6fQcrFyzAvVJDOtWGA0ZOz0rHMGdUEKWpan/UH12MeMWjRqROmTdg2U5a d3Zq3dCywq69JWKdU/Sck9SlLOaQB572VvzNEwmO4ye9+uCpTK9pohWnqdrqZbMPHR 5cadJGMxxngHw== Received: from [100.115.67.185] (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits)) by server-2.bemta.az-a.eu-central-1.aws.ess.symcld.net id 6A/A8-24146-2DC33B16; Fri, 10 Dec 2021 11:41:06 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrLIsWRWlGSWpSXmKPExsViZ8MxSfeizeZ Eg0PLLS1WfN/B6MDose/3OtYAxijWzLyk/IoE1oxV7w8xFTzwqlg5/zljA2OHXRcjJ4eQwFlG ickzZbsYuYDsnUwSB6atZ4dI7GGU2LiuDsRmE9CUeNa5gBnEFhGQkOhoeAtWwyygLrF80i8mE FtYwFKi99ECVhCbRUBVYsbl82A1vAIeEnf6zrCB2BICChJTHr4Hm8Mp4Cnxu3k3G8SuJInnu1 YxQtQLSpyc+YQFYr6ExMEXL5ghehUlLnV8Y4SwKyRmzWpjgrDVJK6e28Q8gVFwFpL2WUjaFzA yrWK0SyrKTM8oyU3MzNE1NDDQNTQ01TU31DU0NtZLrNJN1Est1U1OzSspSgRK6yWWF+ulFhfr FVfmJuek6OWllmxiBIZySrF76w7Gy30/9Q4xSnIwKYnyiv3elCjEl5SfUpmRWJwRX1Sak1p8i FGGg0NJgpfRenOikGBRanpqRVpmDjCuYNISHDxKIrwbQdK8xQWJucWZ6RCpU4yKUuK8b0ASAi CJjNI8uDZYLF9ilJUS5mVkYGAQ4ilILcrNLEGVf8UozsGoJMwrDUwMQjyZeSVw018BLWYCWuz csh5kcUkiQkqqgSlPLGN/SVG42KN3x+elykpVBb1Vf3oyTeP0ydL5+qvVF/OrbFjw6JNiy35/ flNzj39fzm6LszuWZ6/443XvDzvOVmfZA5tc7n38UrREd55Yr17uV9WHS/+4ta9JKlH4+54po SIyMIp/URLnwb09176zyPNFdnpsWLp1IUPhf0/+yFqhpO4tBzLPWkw87PdNVDjkO9dBOZ/y35 pJdb+ldwfsf7j+vBXbbMF5F8QLmGzdOT4qJjj8P2fKYlwWsljt5HyvQg6HaIHzKTGXnjRINMd /3/vq44nnHft/B6/blsFSk9NrvOh3ENfmg5xbNjSL/fGv5T7rEvzB7aOgtaouQ5Di+4nmWz15 2Y6XZJxhUmIpzkg01GIuKk4EAEZs6dJgAwAA X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-8.tower-528.messagelabs.com!1639136465!17673!1 X-Originating-IP: [62.60.8.146] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.81.7; banners=-,-,- X-VirusChecked: Checked Received: (qmail 24966 invoked from network); 10 Dec 2021 11:41:05 -0000 Received: from unknown (HELO n03ukasimr02.n03.fujitsu.local) (62.60.8.146) by server-8.tower-528.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 10 Dec 2021 11:41:05 -0000 Received: from n03ukasimr02.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr02.n03.fujitsu.local (Postfix) with ESMTP id 5C07B10046B for ; Fri, 10 Dec 2021 11:41:05 +0000 (GMT) Received: from R01UKEXCASM126.r01.fujitsu.local (unknown [10.183.43.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr02.n03.fujitsu.local (Postfix) with ESMTPS id 47353100459 for ; Fri, 10 Dec 2021 11:41:05 +0000 (GMT) Received: from localhost.localdomain (10.167.220.84) by R01UKEXCASM126.r01.fujitsu.local (10.183.43.178) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 10 Dec 2021 11:40:40 +0000 From: Yang Xu To: Date: Fri, 10 Dec 2021 19:40:48 +0800 Message-ID: <1639136448-2148-3-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1639136448-2148-1-git-send-email-xuyang2018.jy@fujitsu.com> References: <1639136448-2148-1-git-send-email-xuyang2018.jy@fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.220.84] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM126.r01.fujitsu.local (10.183.43.178) X-Virus-Scanned: clamav-milter 0.102.4 at in-5.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-5.smtp.seeweb.it Subject: [LTP] [PATCH v2 3/3] zram/zram03: Convert into new api X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Also add removing zram module step in setup, so we can avoid the situation that zram module is being used by zram-generator. Fixes: #888 Signed-off-by: Yang Xu --- Not use lsmod to detect because tst_cmd doesn't support "lsmod |grep zram". Or I miss something? testcases/kernel/device-drivers/zram/zram03.c | 233 ++++++++---------- 1 file changed, 102 insertions(+), 131 deletions(-) diff --git a/testcases/kernel/device-drivers/zram/zram03.c b/testcases/kernel/device-drivers/zram/zram03.c index 06995fd56..4f8fb994f 100644 --- a/testcases/kernel/device-drivers/zram/zram03.c +++ b/testcases/kernel/device-drivers/zram/zram03.c @@ -1,43 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* - * zram: generic RAM based compressed R/W block devices - * http://lkml.org/lkml/2010/8/9/227 - * * Copyright (C) 2010 Red Hat, Inc. - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + */ + +/*\ + * [Description] * - * Further, this software is distributed without any warranty that it - * is free of the rightful claim of any third person regarding - * infringement or the like. Any license provided herein, whether - * implied or otherwise, applies only to this software file. Patent - * licenses, if any, provided herein do not apply to combinations of - * this program with other software, or any other product whatsoever. + * zram: generic RAM based compressed R/W block devices + * http://lkml.org/lkml/2010/8/9/227 * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. + * This case check whether data read from zram device is consistent with + * thoese are written. */ + #include #include #include #include #include -#include #include #include - -#include "test.h" -#include "safe_macros.h" - -char *TCID = "zram03"; -int TST_TOTAL = 1; +#include "tst_safe_stdio.h" +#include "tst_test.h" #define PATH_ZRAM "/sys/block/zram0" #define OBSOLETE_ZRAM_FILE "/sys/block/zram0/num_reads" @@ -47,44 +32,12 @@ int TST_TOTAL = 1; #define DEVICE "/dev/zram0" static int modprobe; - -static void set_disksize(void); -static void write_device(void); -static void verify_device(void); -static void reset(void); -static void setup(void); -static void cleanup(void); -static void print(char *string); -static void dump_info(void); - -int main(int argc, char *argv[]) -{ - int lc; - - tst_parse_opts(argc, argv, NULL, NULL); - - setup(); - - for (lc = 0; TEST_LOOPING(lc); lc++) { - tst_count = 0; - - set_disksize(); - - write_device(); - dump_info(); - verify_device(); - - reset(); - dump_info(); - } - cleanup(); - tst_exit(); -} +static const char *const cmd_rmmod[] = {"rmmod", "zram", NULL}; static void set_disksize(void) { - tst_resm(TINFO, "create a zram device with %ld bytes in size.", SIZE); - SAFE_FILE_PRINTF(cleanup, PATH_ZRAM "/disksize", "%ld", SIZE); + tst_res(TINFO, "create a zram device with %ld bytes in size", SIZE); + SAFE_FILE_PRINTF(PATH_ZRAM "/disksize", "%ld", SIZE); } static void write_device(void) @@ -92,17 +45,16 @@ static void write_device(void) int fd; char *s; - tst_resm(TINFO, "map this zram device into memory."); - fd = SAFE_OPEN(cleanup, DEVICE, O_RDWR); - s = SAFE_MMAP(cleanup, NULL, SIZE, PROT_READ | PROT_WRITE, - MAP_SHARED, fd, 0); + tst_res(TINFO, "map this zram device into memory"); + fd = SAFE_OPEN(DEVICE, O_RDWR); + s = SAFE_MMAP(NULL, SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); - tst_resm(TINFO, "write all the memory."); + tst_res(TINFO, "write all the memory"); memset(s, 'a', SIZE - 1); s[SIZE - 1] = '\0'; - SAFE_MUNMAP(cleanup, s, SIZE); - SAFE_CLOSE(cleanup, fd); + SAFE_MUNMAP(s, SIZE); + SAFE_CLOSE(fd); } static void verify_device(void) @@ -111,9 +63,9 @@ static void verify_device(void) long i = 0, fail = 0; char *s; - tst_resm(TINFO, "verify contents from device."); - fd = SAFE_OPEN(cleanup, DEVICE, O_RDONLY); - s = SAFE_MMAP(cleanup, NULL, SIZE, PROT_READ, MAP_PRIVATE, fd, 0); + tst_res(TINFO, "verify contents from device"); + fd = SAFE_OPEN(DEVICE, O_RDONLY); + s = SAFE_MMAP(NULL, SIZE, PROT_READ, MAP_PRIVATE, fd, 0); while (s[i] && i < SIZE - 1) { if (s[i] != 'a') @@ -121,59 +73,25 @@ static void verify_device(void) i++; } if (i != SIZE - 1) { - tst_resm(TFAIL, "expect size: %ld, actual size: %ld.", + tst_res(TFAIL, "expect size: %ld, actual size: %ld.", SIZE - 1, i); } else if (s[i] != '\0') { - tst_resm(TFAIL, "zram device seems not null terminated"); + tst_res(TFAIL, "zram device seems not null terminated"); } else if (fail) { - tst_resm(TFAIL, "%ld failed bytes found.", fail); + tst_res(TFAIL, "%ld failed bytes found", fail); } else { - tst_resm(TPASS, "data read from zram device is consistent " + tst_res(TPASS, "data read from zram device is consistent " "with those are written"); } - SAFE_MUNMAP(cleanup, s, SIZE); - SAFE_CLOSE(cleanup, fd); + SAFE_MUNMAP(s, SIZE); + SAFE_CLOSE(fd); } static void reset(void) { - tst_resm(TINFO, "reset it."); - SAFE_FILE_PRINTF(cleanup, PATH_ZRAM "/reset", "1"); -} - -static void setup(void) -{ - int retried = 0; - - tst_require_root(); - -retry: - if (access(PATH_ZRAM, F_OK) == -1) { - if (errno == ENOENT) { - if (retried) { - tst_brkm(TCONF, NULL, - "system has no zram device."); - } - if (system("modprobe zram") == -1) { - tst_brkm(TBROK | TERRNO, cleanup, - "system(modprobe zram) failed"); - } - modprobe = 1; - retried = 1; - goto retry; - } else - tst_brkm(TBROK | TERRNO, NULL, "access"); - } - - tst_sig(FORK, DEF_HANDLER, cleanup); - TEST_PAUSE; -} - -static void cleanup(void) -{ - if (modprobe == 1 && system("rmmod zram") == -1) - tst_resm(TWARN | TERRNO, "system(rmmod zram) failed"); + tst_res(TINFO, "Reset zram"); + SAFE_FILE_PRINTF(PATH_ZRAM "/reset", "1"); } static void print(char *string) @@ -181,20 +99,17 @@ static void print(char *string) char filename[BUFSIZ], value[BUFSIZ]; sprintf(filename, "%s/%s", PATH_ZRAM, string); - SAFE_FILE_SCANF(cleanup, filename, "%s", value); - tst_resm(TINFO, "%s is %s", filename, value); + SAFE_FILE_SCANF(filename, "%s", value); + tst_res(TINFO, "%s is %s", filename, value); } static void print_stat(char *nread, char *nwrite) { char nread_val[BUFSIZ], nwrite_val[BUFSIZ]; - SAFE_FILE_SCANF(cleanup, PATH_ZRAM_STAT, "%s %*s %*s %*s %s", - nread_val, nwrite_val); - tst_resm(TINFO, "%s from %s is %s", nread, PATH_ZRAM_STAT, - nread_val); - tst_resm(TINFO, "%s from %s is %s", nwrite, PATH_ZRAM_STAT, - nwrite_val); + SAFE_FILE_SCANF(PATH_ZRAM_STAT, "%s %*s %*s %*s %s", nread_val, nwrite_val); + tst_res(TINFO, "%s from %s is %s", nread, PATH_ZRAM_STAT, nread_val); + tst_res(TINFO, "%s from %s is %s", nwrite, PATH_ZRAM_STAT, nwrite_val); } static void print_mm_stat(char *orig, char *compr, char *mem, char *zero) @@ -202,16 +117,12 @@ static void print_mm_stat(char *orig, char *compr, char *mem, char *zero) char orig_val[BUFSIZ], compr_val[BUFSIZ]; char mem_val[BUFSIZ], zero_val[BUFSIZ]; - SAFE_FILE_SCANF(cleanup, PATH_ZRAM_MM_STAT, "%s %s %s %*s %*s %s", + SAFE_FILE_SCANF(PATH_ZRAM_MM_STAT, "%s %s %s %*s %*s %s", orig_val, compr_val, mem_val, zero_val); - tst_resm(TINFO, "%s from %s is %s", orig, PATH_ZRAM_MM_STAT, - orig_val); - tst_resm(TINFO, "%s from %s is %s", compr, PATH_ZRAM_MM_STAT, - compr_val); - tst_resm(TINFO, "%s from %s is %s", mem, PATH_ZRAM_MM_STAT, - mem_val); - tst_resm(TINFO, "%s from %s is %s", zero, PATH_ZRAM_MM_STAT, - zero_val); + tst_res(TINFO, "%s from %s is %s", orig, PATH_ZRAM_MM_STAT, orig_val); + tst_res(TINFO, "%s from %s is %s", compr, PATH_ZRAM_MM_STAT, compr_val); + tst_res(TINFO, "%s from %s is %s", mem, PATH_ZRAM_MM_STAT, mem_val); + tst_res(TINFO, "%s from %s is %s", zero, PATH_ZRAM_MM_STAT, zero_val); } static void dump_info(void) @@ -231,3 +142,63 @@ static void dump_info(void) print_stat("num_reads", "num_writes"); } } + +static void run(void) +{ + set_disksize(); + + write_device(); + dump_info(); + verify_device(); + + reset(); + dump_info(); +} + +static void setup(void) +{ + const char *const cmd_modprobe[] = {"modprobe", "zram", NULL}; + FILE *file; + char line[PATH_MAX]; + + file = SAFE_FOPEN("/proc/modules", "r"); + while (fgets(line, sizeof(line), file)) { + if (strstr(line, "zram")) { + modprobe = 1; + break; + } + } + + if (modprobe) { + tst_res(TINFO, "rmmod zram before test"); + if (tst_cmd(cmd_rmmod, NULL, NULL, TST_CMD_PASS_RETVAL)) + tst_brk(TCONF, "zram module may being used!"); + else + modprobe = 0; + } + + SAFE_CMD(cmd_modprobe, NULL, NULL); + modprobe = 1; +} + +static void cleanup(void) +{ + if (modprobe == 1) + SAFE_CMD(cmd_rmmod, NULL, NULL); +} + +static struct tst_test test = { + .test_all = run, + .setup = setup, + .cleanup = cleanup, + .needs_root = 1, + .needs_drivers = (const char *const []) { + "zram", + NULL + }, + .needs_cmds = (const char *[]) { + "modprobe", + "rmmod", + NULL + } +};