Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp3628085pxb; Mon, 21 Feb 2022 02:13:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJwx6/EmcKDAyFGSasZ7+ikGdCsZrTYaM9pOMNJQ8o2ecNlQphQYExHFehxj4ZIEA4ybJEyM X-Received: by 2002:a17:906:ae4a:b0:6d0:9eee:e951 with SMTP id lf10-20020a170906ae4a00b006d09eeee951mr10864323ejb.2.1645438395736; Mon, 21 Feb 2022 02:13:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645438395; cv=none; d=google.com; s=arc-20160816; b=LNgDOt0nIKinEvgyi4JpzVzCnFA3gjgV/qR8E4j+jPfd3HTPbmEZzITcng2K+mOBQz Z1n5sReCBCAS4J/nx2HarkNYKXA1mmnMZcQff5SZQJ2rb3hKz8iL3iDxvzGNZ4Ux4Bvw 3xQaIfLZP06sfGS5DpaXxXv30zzTbFANO6N26yfrnmmGVa+Pf11HDrRqlTImWZuOhesQ quimto+fqWXbFJgCQ8E0je8PJmaTh2rbqGLSxvu64xZNJ+77+dy0vHKwhFV/QrJapVRE 1nTukZeyrErSc5ONubu3zkkQps5/XL9kMGQU0dV8AAtY9mpyRsoqZBBuWEAANfaJe/XF g/BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=EtLwcT+uR/zg+VxO/vpJHy53N7OU4pSAL/i01uDNSBA=; b=kIKcWM3crTXR95e+ezRq6c8u0l/CQg7cTwX3n6zJzfZDR067kfq6oCJLKHd1LxnJ5x NBqArKIyhKF++Jg6u3Kpc3Y+XquOUOGI/xife0+m/JWPjc9JxtmxKXNXq7iXKNFzq9id CdVZ/iDCKGTxRv3hPOPfVdh/jAYHHegadI3mAzPA9TjfOMc7WKleQUtyYD1+kxRWR2zv R8ck0nmvMBnVrqZE32yCipBdHO5ENSZlQ4g1F8SLS6cHj85+7As1NbHOKkRxo9VdA4Zz dKI3xOfKLjYXha/msJtdK4Q1juoWsfuiHWG2vJ4o2c0u9eHMX7RkRpCHhNV33pEs/XYC dy2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Dr8ZOoL7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 24si8423348ejg.607.2022.02.21.02.12.52; Mon, 21 Feb 2022 02:13:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Dr8ZOoL7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345643AbiBUIxY (ORCPT + 99 others); Mon, 21 Feb 2022 03:53:24 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:43764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345592AbiBUIwd (ORCPT ); Mon, 21 Feb 2022 03:52:33 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56969DBC; Mon, 21 Feb 2022 00:52:10 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 01A41B80EB0; Mon, 21 Feb 2022 08:52:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E89FC340E9; Mon, 21 Feb 2022 08:52:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1645433527; bh=wDua54V40aYcPDnGD2qM9MjIhK8Jdh3ufrb+uJTT5ro=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Dr8ZOoL750lhrnj2gi9IsZEIGSKZtR0ltXDHO9UHn//tXfTYmKma8rMVfh8KXBSH4 k6oPKe/QjLwr0Oy+qBddZlBsoQDiF3w/d9dbKRf4tafy7F+iwD5H3tJ45dV/4LTqaw CkQE8hZYB2ek4Mr4wIwJSTqGJ8s2ogJyDsx9yTgg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yang Xu , Shuah Khan , Sasha Levin Subject: [PATCH 4.9 09/33] selftests/zram01.sh: Fix compression ratio calculation Date: Mon, 21 Feb 2022 09:49:02 +0100 Message-Id: <20220221084908.862694356@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220221084908.568970525@linuxfoundation.org> References: <20220221084908.568970525@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yang Xu [ Upstream commit d18da7ec3719559d6e74937266d0416e6c7e0b31 ] zram01 uses `free -m` to measure zram memory usage. The results are no sense because they are polluted by all running processes on the system. We Should only calculate the free memory delta for the current process. So use the third field of /sys/block/zram/mm_stat to measure memory usage instead. The file is available since kernel 4.1. orig_data_size(first): uncompressed size of data stored in this disk. compr_data_size(second): compressed size of data stored in this disk mem_used_total(third): the amount of memory allocated for this disk Also remove useless zram cleanup call in zram_fill_fs and so we don't need to cleanup zram twice if fails. Signed-off-by: Yang Xu Signed-off-by: Shuah Khan Signed-off-by: Sasha Levin --- tools/testing/selftests/zram/zram01.sh | 30 +++++++------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/tools/testing/selftests/zram/zram01.sh b/tools/testing/selftests/zram/zram01.sh index b9566a6478a9c..ac6e4ddd2604e 100755 --- a/tools/testing/selftests/zram/zram01.sh +++ b/tools/testing/selftests/zram/zram01.sh @@ -42,8 +42,6 @@ zram_algs="lzo" zram_fill_fs() { - local mem_free0=$(free -m | awk 'NR==2 {print $4}') - for i in $(seq 0 $(($dev_num - 1))); do echo "fill zram$i..." local b=0 @@ -54,29 +52,17 @@ zram_fill_fs() b=$(($b + 1)) done echo "zram$i can be filled with '$b' KB" - done - local mem_free1=$(free -m | awk 'NR==2 {print $4}') - local used_mem=$(($mem_free0 - $mem_free1)) + local mem_used_total=`awk '{print $3}' "/sys/block/zram$i/mm_stat"` + local v=$((100 * 1024 * $b / $mem_used_total)) + if [ "$v" -lt 100 ]; then + echo "FAIL compression ratio: 0.$v:1" + ERR_CODE=-1 + return + fi - local total_size=0 - for sm in $zram_sizes; do - local s=$(echo $sm | sed 's/M//') - total_size=$(($total_size + $s)) + echo "zram compression ratio: $(echo "scale=2; $v / 100 " | bc):1: OK" done - - echo "zram used ${used_mem}M, zram disk sizes ${total_size}M" - - local v=$((100 * $total_size / $used_mem)) - - if [ "$v" -lt 100 ]; then - echo "FAIL compression ratio: 0.$v:1" - ERR_CODE=-1 - zram_cleanup - return - fi - - echo "zram compression ratio: $(echo "scale=2; $v / 100 " | bc):1: OK" } check_prereqs -- 2.34.1