From patchwork Thu Jun 17 07:07:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1493239 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4G5Cn31RjRz9sSs for ; Thu, 17 Jun 2021 17:07:51 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 237943C88AB for ; Thu, 17 Jun 2021 09:07:49 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [217.194.8.3]) (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 DF2D33C6C84 for ; Thu, 17 Jun 2021 09:07:36 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id 2CBC21A01448 for ; Thu, 17 Jun 2021 09:07:35 +0200 (CEST) Received: from mail-ed1-f69.google.com ([209.85.208.69]) by youngberry.canonical.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1ltm7j-00040A-9O for ltp@lists.linux.it; Thu, 17 Jun 2021 07:07:35 +0000 Received: by mail-ed1-f69.google.com with SMTP id z16-20020aa7d4100000b029038feb83da57so996589edq.4 for ; Thu, 17 Jun 2021 00:07:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iZtxgQSaNq1bNeJ5KGC3bsLfhWxUGqziDCPwpDnLaAk=; b=fkVLabKLQ9noixOuBWB/eUbILYGY98fdJhZuA2vxS+NzNwk8hol1fgu4tr4vZWkj9m b1T/spkyK3PzCNiuq21FC2pH1X3Uu75A49i4m5UuizDKyNHSd6NoCoScrZeUNlz+7LA7 h3u8SX0ZI1va8j1PuEpQ1cjv02Bc1DD81gL7+yJMZojSZn1wJUnZKO/ZqoAiDzvCAq0Y MJvEkh69RYPyfpt413MSRgvcWDh50EVQMu+8JiHLVlPUSOPzbsNcDbKz+G0DiLsnQ7l4 DWVjjm/dbpWKXV6C26dO2uFSIkYVtBmhYJcsQICeKoYAqPBuxeE4FtXUZ296vint5pjk Tqvw== X-Gm-Message-State: AOAM533zNCM8QesQ8sxxkjXcVVKHqt3Tw6lSJezdPGGblt5K+Gm5ZiBT Cv7AWmVuxyu2eo0BUmmL9N4TLH0o96LT8nfs/tF8bRugWI3YxLXQ6AaognwHihk1yNOz/IUqz8J v0gmYi7IgdaxsWU42E29Fc1Az0Xhz X-Received: by 2002:a05:6402:1e8b:: with SMTP id f11mr4645340edf.86.1623913654780; Thu, 17 Jun 2021 00:07:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjisDEo4tyW7maje83weX/Efmz4fMDUrx+rUUceT8FNNQWLTkrSTowE8/lCQMhCSlrPX4/Vw== X-Received: by 2002:a05:6402:1e8b:: with SMTP id f11mr4645317edf.86.1623913654635; Thu, 17 Jun 2021 00:07:34 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-177-222.adslplus.ch. [188.155.177.222]) by smtp.gmail.com with ESMTPSA id u17sm3531258edx.16.2021.06.17.00.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jun 2021 00:07:34 -0700 (PDT) From: Krzysztof Kozlowski To: ltp@lists.linux.it Date: Thu, 17 Jun 2021 09:07:28 +0200 Message-Id: <20210617070730.7699-2-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210617070730.7699-1-krzysztof.kozlowski@canonical.com> References: <20210617070730.7699-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-3.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.0 required=7.0 tests=SPF_HELO_NONE,SPF_NONE autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-3.smtp.seeweb.it Subject: [LTP] [PATCH v2 1/3] controllers/memcg: accept range of max_usage_in_bytes 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" Several Linux kernel versions report higher max_usage_in_bytes than expected size of 1024 pages. For example v5.4, v5.8, v5.10 and 5.13.0-rc5: memcg_max_usage_in_bytes_test 1 TINFO: Test memory.max_usage_in_bytes memcg_max_usage_in_bytes_test 1 TINFO: Running memcg_process --mmap-anon -s 4194304 memcg_max_usage_in_bytes_test 1 TINFO: Warming up pid: 1393215 memcg_max_usage_in_bytes_test 1 TINFO: Process is still here after warm up: 1393215 memcg_max_usage_in_bytes_test 1 TFAIL: memory.max_usage_in_bytes is 4325376, 4194304 expected It seems that recent Linux kernel reports more memory used than expected. Signed-off-by: Krzysztof Kozlowski --- .../kernel/controllers/memcg/functional/memcg_lib.sh | 11 +++++++++-- .../memcg/functional/memcg_max_usage_in_bytes_test.sh | 6 +++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh index d9bb6d94324d..083ef376e120 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh @@ -140,7 +140,8 @@ shmmax_cleanup() # Check size in memcg # $1 - Item name -# $2 - Expected size +# $2 - Expected size lower bound +# $3 - Expected size upper bound (optional) check_mem_stat() { local item_size @@ -151,7 +152,13 @@ check_mem_stat() item_size=$(grep -w $1 memory.stat | cut -d " " -f 2) fi - if [ "$2" = "$item_size" ]; then + if [ "$3" ]; then + if [ $item_size -ge $2 ] && [ $item_size -le $3 ]; then + tst_res TPASS "$1 is ${2}-${3} as expected" + else + tst_res TFAIL "$1 is $item_size, ${2}-${3} expected" + fi + elif [ "$2" = "$item_size" ]; then tst_res TPASS "$1 is $2 as expected" else tst_res TFAIL "$1 is $item_size, $2 expected" diff --git a/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh b/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh index 14daa4651798..a940606cbd34 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh @@ -12,6 +12,10 @@ TST_CNT=4 . memcg_lib.sh MEM_TO_ALLOC=$((PAGESIZE * 1024)) +# Recent Linux kernels (at least v5.4) started reporting memory usage of 32 +# pages higher than requested allocation. Cause is not known, so let's just be +# flexible. +MEM_EXPECTED_UPPER=$((MEM_TO_ALLOC + PAGESIZE * 32)) MEM_LIMIT=$((MEM_TO_ALLOC * 2)) # Run test cases which checks memory.[memsw.]max_usage_in_bytes after make @@ -32,7 +36,7 @@ test_max_usage_in_bytes() signal_memcg_process $MEM_TO_ALLOC signal_memcg_process $MEM_TO_ALLOC - check_mem_stat $item $MEM_TO_ALLOC + check_mem_stat $item $MEM_TO_ALLOC $MEM_EXPECTED_UPPER if [ $check_after_reset -eq 1 ]; then echo 0 > $item From patchwork Thu Jun 17 07:07:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1493241 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4G5CnR6SBtz9sRf for ; Thu, 17 Jun 2021 17:08:11 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id DCFEF3C88C5 for ; Thu, 17 Jun 2021 09:08:09 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-2.smtp.seeweb.it (in-2.smtp.seeweb.it [IPv6:2001:4b78:1:20::2]) (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 63BB13C6C84 for ; Thu, 17 Jun 2021 09:07:37 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by in-2.smtp.seeweb.it (Postfix) with ESMTPS id C51B96019A1 for ; Thu, 17 Jun 2021 09:07:36 +0200 (CEST) Received: from mail-ed1-f71.google.com ([209.85.208.71]) by youngberry.canonical.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1ltm7k-00040I-7t for ltp@lists.linux.it; Thu, 17 Jun 2021 07:07:36 +0000 Received: by mail-ed1-f71.google.com with SMTP id t11-20020a056402524bb029038ffacf1cafso992037edd.5 for ; Thu, 17 Jun 2021 00:07:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GVvf9Dez840xvJRXWYL8f1IqEy908UkCz7grK0b8Q+0=; b=tTyxfGHZlkAJaqRKakZr9vB9w871gMvLHXxjj41mck61wKFVSpBseVp2gFHPjMEXch K0fsnsy4GJMWm3dFDEqmfSdYfpR7RdyN1ITPMssRryNhokkhMFOOMw4soJzWlk/KO84C xMRAs+e2LWp0HXvUbx5hQPYgSyxsmrW035tRge6LUYEs/ERm2XqFFkmgG1csqJ8XjmOd yVGV4PztTdYmBP0+aAM3ZGSuSup6BLvs13I8a4tuNZIewhgPEyzuG96Lm44DT4LbBx9l p6JQvAuHmkRH8Zzk2y92QZ7BKiG0+lqG+eSb1USSDKfhupgwiwKUywAsHOT7X+oc+qsW D7kQ== X-Gm-Message-State: AOAM531f9IiQ1QSDNHfWLlNoQDYGXvll4nvv97wYPCoAjPq/9bpTeV/b FVbQy3FwdPWgxoh6SRIdK+maWEPCQ/p0Z+ycZwl4IK2ClqnZpUu1RcQemQhTpvS+YcuFOnqyy3J uXWojIImYEyWTO6Vcey2XO5kfBnBJ X-Received: by 2002:aa7:c50d:: with SMTP id o13mr4490302edq.9.1623913655718; Thu, 17 Jun 2021 00:07:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy4feLXwG5rm2qScIulV2y4jB97bVxEEeW8IjoisJZbjLIE1m1exGy94VtSMLOtm7Z2KVGfUQ== X-Received: by 2002:aa7:c50d:: with SMTP id o13mr4490281edq.9.1623913655518; Thu, 17 Jun 2021 00:07:35 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-177-222.adslplus.ch. [188.155.177.222]) by smtp.gmail.com with ESMTPSA id u17sm3531258edx.16.2021.06.17.00.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jun 2021 00:07:35 -0700 (PDT) From: Krzysztof Kozlowski To: ltp@lists.linux.it Date: Thu, 17 Jun 2021 09:07:29 +0200 Message-Id: <20210617070730.7699-3-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210617070730.7699-1-krzysztof.kozlowski@canonical.com> References: <20210617070730.7699-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-2.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.0 required=7.0 tests=SPF_HELO_NONE,SPF_NONE autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-2.smtp.seeweb.it Subject: [LTP] [PATCH v2 2/3] controllers/memcg: accept range of usage_in_bytes 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" Several Linux kernel versions report higher usage_in_bytes than expected size of 1024 pages. For example v5.4, v5.8, v5.10 and 5.13.0-rc5: memcg_usage_in_bytes_test 1 TINFO: Test memory.usage_in_bytes memcg_usage_in_bytes_test 1 TINFO: Running memcg_process --mmap-anon -s 4194304 memcg_usage_in_bytes_test 1 TINFO: Warming up pid: 1160 memcg_usage_in_bytes_test 1 TINFO: Process is still here after warm up: 1160 memcg_usage_in_bytes_test 1 TFAIL: memory.usage_in_bytes is 4325376, 4194304 expected It seems that recent Linux kernel reports more memory used than expected. Signed-off-by: Krzysztof Kozlowski --- .../controllers/memcg/functional/memcg_lib.sh | 11 +++++++--- .../memcg/functional/memcg_stat_rss.sh | 20 +++++++++---------- .../memcg/functional/memcg_stat_test.sh | 8 ++++---- .../functional/memcg_usage_in_bytes_test.sh | 10 ++++++++-- 4 files changed, 30 insertions(+), 19 deletions(-) diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh index 083ef376e120..d44bb027076c 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh @@ -239,8 +239,9 @@ test_mem_stat() local size=$2 local total_size=$3 local stat_name=$4 - local exp_stat_size=$5 - local check_after_free=$6 + local exp_stat_size_low=$5 + local exp_stat_size_up=$6 + local check_after_free=$7 start_memcg_process $memtypes -s $size @@ -251,7 +252,11 @@ test_mem_stat() echo $MEMCG_PROCESS_PID > tasks signal_memcg_process $size - check_mem_stat $stat_name $exp_stat_size + if [ "$exp_stat_size_low" = "$exp_stat_size_up" ]; then + check_mem_stat $stat_name $exp_stat_size_low + else + check_mem_stat $stat_name $exp_stat_size_low $exp_stat_size_up + fi signal_memcg_process $size if $check_after_free; then diff --git a/testcases/kernel/controllers/memcg/functional/memcg_stat_rss.sh b/testcases/kernel/controllers/memcg/functional/memcg_stat_rss.sh index 1a6128a6dba8..d9b4ec287b5f 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_stat_rss.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_stat_rss.sh @@ -18,54 +18,54 @@ TST_CNT=10 # Test the management and counting of memory test1() { - test_mem_stat "--mmap-anon" $PAGESIZES $PAGESIZES "rss" $PAGESIZES false + test_mem_stat "--mmap-anon" $PAGESIZES $PAGESIZES "rss" $PAGESIZES $PAGESIZES false } test2() { - test_mem_stat "--mmap-file" $PAGESIZE $PAGESIZE "rss" 0 false + test_mem_stat "--mmap-file" $PAGESIZE $PAGESIZE "rss" 0 0 false } test3() { - test_mem_stat "--shm -k 3" $PAGESIZE $PAGESIZE "rss" 0 false + test_mem_stat "--shm -k 3" $PAGESIZE $PAGESIZE "rss" 0 0 false } test4() { test_mem_stat "--mmap-anon --mmap-file --shm" \ - $PAGESIZES $((PAGESIZES * 3)) "rss" $PAGESIZES false + $PAGESIZES $((PAGESIZES * 3)) "rss" $PAGESIZES $PAGESIZES false } test5() { - test_mem_stat "--mmap-lock1" $PAGESIZES $PAGESIZES "rss" $PAGESIZES false + test_mem_stat "--mmap-lock1" $PAGESIZES $PAGESIZES "rss" $PAGESIZES $PAGESIZES false } test6() { - test_mem_stat "--mmap-anon" $PAGESIZES $PAGESIZES "rss" $PAGESIZES true + test_mem_stat "--mmap-anon" $PAGESIZES $PAGESIZES "rss" $PAGESIZES $PAGESIZES true } test7() { - test_mem_stat "--mmap-file" $PAGESIZE $PAGESIZE "rss" 0 true + test_mem_stat "--mmap-file" $PAGESIZE $PAGESIZE "rss" 0 0 true } test8() { - test_mem_stat "--shm -k 8" $PAGESIZE $PAGESIZE "rss" 0 true + test_mem_stat "--shm -k 8" $PAGESIZE $PAGESIZE "rss" 0 0 true } test9() { test_mem_stat "--mmap-anon --mmap-file --shm" \ - $PAGESIZES $((PAGESIZES * 3)) "rss" $PAGESIZES true + $PAGESIZES $((PAGESIZES * 3)) "rss" $PAGESIZES $PAGESIZES true } test10() { - test_mem_stat "--mmap-lock1" $PAGESIZES $PAGESIZES "rss" $PAGESIZES true + test_mem_stat "--mmap-lock1" $PAGESIZES $PAGESIZES "rss" $PAGESIZES $PAGESIZES true } tst_run diff --git a/testcases/kernel/controllers/memcg/functional/memcg_stat_test.sh b/testcases/kernel/controllers/memcg/functional/memcg_stat_test.sh index 925c4ecf87bc..e5eb7e5d0001 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_stat_test.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_stat_test.sh @@ -14,28 +14,28 @@ TST_CNT=8 test1() { tst_res TINFO "Test cache" - test_mem_stat "--shm -k 3" $PAGESIZES $PAGESIZES "cache" $PAGESIZES false + test_mem_stat "--shm -k 3" $PAGESIZES $PAGESIZES "cache" $PAGESIZES $PAGESIZES false } test2() { tst_res TINFO "Test mapped_file" test_mem_stat "--mmap-file" $PAGESIZES $PAGESIZES \ - "mapped_file" $PAGESIZES false + "mapped_file" $PAGESIZES $PAGESIZES false } test3() { tst_res TINFO "Test unevictable with MAP_LOCKED" test_mem_stat "--mmap-lock1" $PAGESIZES $PAGESIZES \ - "unevictable" $PAGESIZES false + "unevictable" $PAGESIZES $PAGESIZES false } test4() { tst_res TINFO "Test unevictable with mlock" test_mem_stat "--mmap-lock2" $PAGESIZES $PAGESIZES \ - "unevictable" $PAGESIZES false + "unevictable" $PAGESIZES $PAGESIZES false } test5() diff --git a/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh b/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh index e77d6bf2ef23..b5761a4e4716 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh @@ -12,13 +12,18 @@ TST_CNT=2 . memcg_lib.sh MEM_TO_ALLOC=$((PAGESIZE * 1024)) +# Recent Linux kernels (at least v5.4) started reporting memory usage of 32 +# pages higher than requested allocation. Cause is not known, so let's just be +# flexible. +MEM_EXPECTED_UPPER=$((MEM_TO_ALLOC + PAGESIZE * 32)) MEM_LIMIT=$((MEM_TO_ALLOC * 2)) test1() { tst_res TINFO "Test memory.usage_in_bytes" test_mem_stat "--mmap-anon" $MEM_TO_ALLOC $MEM_TO_ALLOC \ - "memory.usage_in_bytes" $MEM_TO_ALLOC false + "memory.usage_in_bytes" $MEM_TO_ALLOC \ + $MEM_EXPECTED_UPPER false } test2() @@ -29,7 +34,8 @@ test2() echo $MEM_LIMIT > memory.limit_in_bytes echo $MEM_LIMIT > memory.memsw.limit_in_bytes test_mem_stat "--mmap-anon" $MEM_TO_ALLOC $MEM_TO_ALLOC \ - "memory.memsw.usage_in_bytes" $MEM_TO_ALLOC false + "memory.memsw.usage_in_bytes" $MEM_TO_ALLOC \ + $MEM_EXPECTED_UPPER false } tst_run From patchwork Thu Jun 17 07:07:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1493240 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4G5CnF0bvQz9sT6 for ; Thu, 17 Jun 2021 17:08:01 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 1647C3C7180 for ; Thu, 17 Jun 2021 09:07:59 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [IPv6:2001:4b78:1:20::3]) (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 60C1D3C2DC7 for ; Thu, 17 Jun 2021 09:07:37 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id 180351A00656 for ; Thu, 17 Jun 2021 09:07:37 +0200 (CEST) Received: from mail-ej1-f72.google.com ([209.85.218.72]) by youngberry.canonical.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1ltm7k-00040i-J6 for ltp@lists.linux.it; Thu, 17 Jun 2021 07:07:36 +0000 Received: by mail-ej1-f72.google.com with SMTP id z6-20020a17090665c6b02903700252d1ccso1769334ejn.10 for ; Thu, 17 Jun 2021 00:07:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZrSi8UjVA7oKQxjvWm7NBCWsiHBN5nHyk/1g8JYarlU=; b=I/xfo4hFYR+TJsGGcdt2e8c3f/Du9ItZb+nxsOZy1B/zmEFlluQ5lxmQco2pogaRRN wjwn28d1mU2lzmdGjxg5VPTvOkl7/ot0Iv6Cdw1c/NRcABkRAdTTZRR0WPuJYgfR3ZCW UC/F17ztAEq/S79vhtlH2vp77l6nXYSPqt0RNclT9APfNpASlpJLvx0YGvW25zY/dYoa s/0jF1vly22sss34NGTIa8+IPXj0GF+nt5iFw0V6A5mgq5wDHY5pYGpcxaVrnh+BBoSy 5n7x5hDT34zP8WubMZ0Mrqk3N7RWYQKfrjh3Tk0NTsdfijZ6pgSon76AUHCTOAT8AWYr PIJg== X-Gm-Message-State: AOAM531lkQDkWs52k+R+p11yPIuxdw8eMNS8zzlxut4/c9r38LnT9UJq jpsY5pihZXybfqeg6IvWH0yEG7vlrZ6MWtfL8y6ljMmuO2xS/hZDxZwBj5c6/6VSFTCGFGSB5Gd fbI1EzZMUusHxxou8FUxvJmxp245i X-Received: by 2002:a17:906:c241:: with SMTP id bl1mr3657502ejb.536.1623913656103; Thu, 17 Jun 2021 00:07:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwMNmCi3vTpz2vnI8k1VMHnY+eDfTHKwZj+pz75zuHeWvnzRnWNolsTgrs8BXxQaqJHdV1tRA== X-Received: by 2002:a17:906:c241:: with SMTP id bl1mr3657489ejb.536.1623913655968; Thu, 17 Jun 2021 00:07:35 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-177-222.adslplus.ch. [188.155.177.222]) by smtp.gmail.com with ESMTPSA id u17sm3531258edx.16.2021.06.17.00.07.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jun 2021 00:07:35 -0700 (PDT) From: Krzysztof Kozlowski To: ltp@lists.linux.it Date: Thu, 17 Jun 2021 09:07:30 +0200 Message-Id: <20210617070730.7699-4-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210617070730.7699-1-krzysztof.kozlowski@canonical.com> References: <20210617070730.7699-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-3.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.0 required=7.0 tests=SPF_HELO_NONE,SPF_NONE autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-3.smtp.seeweb.it Subject: [LTP] [PATCH v2 3/3] controllers/memcg: accept non-zero max_usage_in_bytes after reset 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" Several Linux kernel versions report a non-zero max_usage_in_bytes after resetting the counter. For example v5.4, v5.8, v5.10, v5.11, v5.12 and 5.13.0-rc5: memcg_max_usage_in_bytes_test 4 TINFO: Test reset memory.memsw.max_usage_in_bytes memcg_max_usage_in_bytes_test 4 TINFO: Running memcg_process --mmap-anon -s 4194304 memcg_max_usage_in_bytes_test 4 TINFO: Warming up pid: 1416 memcg_max_usage_in_bytes_test 4 TINFO: Process is still here after warm up: 1416 memcg_max_usage_in_bytes_test 4 TFAIL: memory.memsw.max_usage_in_bytes is 4325376, 4194304 expected memcg_max_usage_in_bytes_test 4 TFAIL: memory.memsw.max_usage_in_bytes is 122880, 0 expected It seems that recent Linux kernel still notices some memory allocation by the memcg tool. Accept therefore a range from 0 to 32 pages. Signed-off-by: Krzysztof Kozlowski --- .../memcg/functional/memcg_max_usage_in_bytes_test.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh b/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh index a940606cbd34..8f0fc33996f3 100755 --- a/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh +++ b/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh @@ -40,7 +40,11 @@ test_max_usage_in_bytes() if [ $check_after_reset -eq 1 ]; then echo 0 > $item - check_mem_stat $item 0 + # Recent Linux kernels (at least v5.4) started reporting + # a non-zero max_usage_in_bytes after resetting the counter. + # The typical values are 0, 4096, 8096 and up to 122880. + # Cause is not known, so let's just be flexible. + check_mem_stat $item 0 $((PAGESIZE * 32)) fi stop_memcg_process