From patchwork Thu Feb 25 23:10:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugh Dickins X-Patchwork-Id: 12105171 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-24.8 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF974C433E0 for ; Thu, 25 Feb 2021 23:10:26 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 66E5864F26 for ; Thu, 25 Feb 2021 23:10:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 66E5864F26 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C54086B0005; Thu, 25 Feb 2021 18:10:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BDC886B0006; Thu, 25 Feb 2021 18:10:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7DEC6B006C; Thu, 25 Feb 2021 18:10:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0135.hostedemail.com [216.40.44.135]) by kanga.kvack.org (Postfix) with ESMTP id 939696B0005 for ; Thu, 25 Feb 2021 18:10:25 -0500 (EST) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 655D5184582B5 for ; Thu, 25 Feb 2021 23:10:25 +0000 (UTC) X-FDA: 77858336010.01.694781F Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) by imf03.hostedemail.com (Postfix) with ESMTP id CD43CC0007E3 for ; Thu, 25 Feb 2021 23:10:21 +0000 (UTC) Received: by mail-oi1-f182.google.com with SMTP id d20so7835774oiw.10 for ; Thu, 25 Feb 2021 15:10:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:message-id:user-agent:mime-version; bh=UoFZ3P+KXBpGD+fINLtjQ4hHuKvSMz6V0Loo7Q31eYE=; b=Ag5Y0cWXGQ0NQ2EVRB9JQ2g/cpIuo+DrXimIs7k+Ob3SvIX+Lp1cXH/iwuwJJwDHIx Trwx0ZusHbbCCzH/3HKeNUYIAe9G5DJABGLdo3iqzsG7dYiwdSbZZ1hlL6mX92bTJDMB X/w2z+jB6/D2fOTfAe2a0a+xuuT/3UCIGGCxWvT7EZazFvbQq7Q7T88LvADqFPGzRSak KiIG64Kqir31MK2Ky10fKDchAY9MMWMj2Wd0MvtiCJSaIwKWVbDRoQfb1Yg2IXg1Heyj SgGO1nsDVVAiT2eRVD2vnhRVlazztfqW0P/T17/o37VD5IqCdzUgzaBoLQ+C+KPxZm4A 4FnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:user-agent :mime-version; bh=UoFZ3P+KXBpGD+fINLtjQ4hHuKvSMz6V0Loo7Q31eYE=; b=B11xiSIlHP0/NPIURdDQXoA9AjiC9/1BUzPHWFB68ZsftI08gmEU5FCpjMVTr1o/CJ Bzrhdn2v20VdBlFFfWzSrm6ZnsucwgRbmn/phuA44HY/VqzlGr1jxzLsKJxYe9NZ1rq5 zqhwuNJ4+ZHxoEv+yZeNLSKMmymBUzxbmG2m+fuTkLxX95EM1fa/8NHObsHZOdjGXeHd UpbE+qZMCPms38uu7k8RoJaufD7g1NX7skI0jT9cs/CmBJPbAb+l1MAxirdR0he81sCG Fd7u7yEwSwc67l0ActrwyG0MnmD44NSQcyxLw6aw7VC/6fSDW94DDhbuie95xa4Y4tvt KPqQ== X-Gm-Message-State: AOAM532DcsB+1tsV1vnElnzc5XwHo40DE43ZMT6kvv7h4AHAYKozi8ts 0TZVY+R/OlHo4olwqzMXPBR8zw== X-Google-Smtp-Source: ABdhPJxC6tBTkBwA9flUNg/EUWPw8ia4+6NNqrERZrqLrN+xw2R0fuvAHWmvXokE9sqC0d1fHewvpA== X-Received: by 2002:aca:5f83:: with SMTP id t125mr113321oib.114.1614294623998; Thu, 25 Feb 2021 15:10:23 -0800 (PST) Received: from eggly.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 109sm1379612otj.8.2021.02.25.15.10.22 (version=TLS1 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128); Thu, 25 Feb 2021 15:10:23 -0800 (PST) Date: Thu, 25 Feb 2021 15:10:09 -0800 (PST) From: Hugh Dickins X-X-Sender: hugh@eggly.anvils To: Andrew Morton cc: Roman Gushchin , Johannes Weiner , Michal Hocko , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] mm: restore node stat checking in /proc/sys/vm/stat_refresh Message-ID: User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: CD43CC0007E3 X-Stat-Signature: etrjb3rt3yci3bk3bk5wcmmjznxp5fq5 Received-SPF: none (google.com>: No applicable sender policy available) receiver=imf03; identity=mailfrom; envelope-from=""; helo=mail-oi1-f182.google.com; client-ip=209.85.167.182 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1614294621-420609 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: v4.7 52b6f46bc163 ("mm: /proc/sys/vm/stat_refresh to force vmstat update") introduced vmstat_refresh(), with its vmstat underflow checking; then v4.8 75ef71840539 ("mm, vmstat: add infrastructure for per-node vmstats") split NR_VM_NODE_STAT_ITEMS out of NR_VM_ZONE_STAT_ITEMS without updating vmstat_refresh(): so it has been missing out much of the vmstat underflow checking ever since. Reinstate it. Thanks to Roman Gushchin for tangentially pointing this out. Signed-off-by: Hugh Dickins Acked-by: Roman Gushchin --- mm/vmstat.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- 5.12-rc/mm/vmstat.c 2021-02-24 12:03:55.000000000 -0800 +++ vmstat1/mm/vmstat.c 2021-02-25 11:50:36.000000000 -0800 @@ -1857,6 +1857,14 @@ int vmstat_refresh(struct ctl_table *tab } } #endif + for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) { + val = atomic_long_read(&vm_node_stat[i]); + if (val < 0) { + pr_warn("%s: %s %ld\n", + __func__, node_stat_name(i), val); + err = -EINVAL; + } + } if (err) return err; if (write) From patchwork Thu Feb 25 23:12:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugh Dickins X-Patchwork-Id: 12105173 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-24.8 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3E62C433E0 for ; Thu, 25 Feb 2021 23:12:15 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 145E764F28 for ; Thu, 25 Feb 2021 23:12:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 145E764F28 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8080A6B0005; Thu, 25 Feb 2021 18:12:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B8916B0006; Thu, 25 Feb 2021 18:12:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A86F6B006C; Thu, 25 Feb 2021 18:12:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0249.hostedemail.com [216.40.44.249]) by kanga.kvack.org (Postfix) with ESMTP id 54EB86B0005 for ; Thu, 25 Feb 2021 18:12:14 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 196DA824556B for ; Thu, 25 Feb 2021 23:12:14 +0000 (UTC) X-FDA: 77858340588.25.E2EB94C Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) by imf24.hostedemail.com (Postfix) with ESMTP id D6BDDA00060D for ; Thu, 25 Feb 2021 23:12:07 +0000 (UTC) Received: by mail-ot1-f47.google.com with SMTP id b8so7392309oti.7 for ; Thu, 25 Feb 2021 15:12:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=ZTnYHREJjaxknDfDoBhteeW5RbBqwnc0KAb8pOQepb4=; b=DZjrfGHZzY4vsUofUZQCjn59YAhiXPKAnJ0rls9m6Kt0kXHk2mBMCkFhXhrp+jbrxL Qwcjk51wJbhUOwPAqgrQ5RS8FW/Dcfa/sa+GGoq0nefrWiPSZRxcJPcN8M3DWrDTmuPQ laQpOGEIbbN0w4e/VITz2sWDKuZDnUGfdcKPS7NdlwWjkewZ6DPa7vpI7aYpQXX3qvWH bmljy+vS2gqnuJCBqydx8G5kbTCcDm7ZNwkImHgau1f+OPeCa77FI1zifAhaNF1QjYdG j6II8PQWIc32iQ6keYblKkFjoZuT0tAx0f77knppoZjysx3235SUF6G7vRGJKLVZMHVn 5AVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=ZTnYHREJjaxknDfDoBhteeW5RbBqwnc0KAb8pOQepb4=; b=XJeXByt9Js+ZuzZrio/xOg87AhQ9qdwB+R/ifmFCu1i2Hkbryx5sEgzRIcBMNkfKVx rQWjgTaPzQOFmnhMSI1sBXf/M0GxgpnMkpJwcXdBwcnJm4EBaobkVrOmjn182co0CuUB gKs5K0A9OcHfE8gAm1J9i6B6+50KWlnfLqSIRaT1RRhlNbG7KqRRfoGJcoAUJXa/nwEo C4ndxbCqsXo7grWmDMTvfLgd72SY/lOI0pfu7yXdcsNX2/Guvk7Pi3pgnXwXkQKxXFvC 0iBPj9UMW2pMSy48OHco7xI9k9Q9n6JkiyYeGpAskW9RNZNqcWjm9amzwtGeZLV8+qkp er3A== X-Gm-Message-State: AOAM530IHW+wMnI0R5baXwqAD+wFX34cd7UE443dDFlPyALoNwZY3uIX hE8diAHbV/KxovQV3AGPTJzpyA== X-Google-Smtp-Source: ABdhPJxOSAWbEdHaaF6Y/UpZk58fZCxjSTbQvu6j6JDDhIg9nIjzNuKFCZKlX4QL/DexIVYGr+N1Ug== X-Received: by 2002:a9d:3bc4:: with SMTP id k62mr55700otc.318.1614294732828; Thu, 25 Feb 2021 15:12:12 -0800 (PST) Received: from eggly.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id w30sm1327730oow.48.2021.02.25.15.12.11 (version=TLS1 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128); Thu, 25 Feb 2021 15:12:12 -0800 (PST) Date: Thu, 25 Feb 2021 15:12:10 -0800 (PST) From: Hugh Dickins X-X-Sender: hugh@eggly.anvils To: Andrew Morton cc: Roman Gushchin , Johannes Weiner , Michal Hocko , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] mm: no more EINVAL from /proc/sys/vm/stat_refresh In-Reply-To: Message-ID: References: User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 X-Stat-Signature: 8u8ke5f78ej896k4pezsbw5oukhnifdb X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D6BDDA00060D Received-SPF: none (google.com>: No applicable sender policy available) receiver=imf24; identity=mailfrom; envelope-from=""; helo=mail-ot1-f47.google.com; client-ip=209.85.210.47 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1614294727-255295 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: EINVAL was good for drawing the refresher's attention to a warning in dmesg, but became very tiresome when running test suites scripted with "set -e": an underflow from a bug in one feature would cause unrelated tests much later to fail, just because their /proc/sys/vm/stat_refresh touch failed with that error. Stop doing that. Signed-off-by: Hugh Dickins Acked-by: Roman Gushchin --- mm/vmstat.c | 5 ----- 1 file changed, 5 deletions(-) --- vmstat1/mm/vmstat.c 2021-02-25 11:50:36.000000000 -0800 +++ vmstat2/mm/vmstat.c 2021-02-25 11:56:18.000000000 -0800 @@ -1844,7 +1844,6 @@ int vmstat_refresh(struct ctl_table *tab if (val < 0) { pr_warn("%s: %s %ld\n", __func__, zone_stat_name(i), val); - err = -EINVAL; } } #ifdef CONFIG_NUMA @@ -1853,7 +1852,6 @@ int vmstat_refresh(struct ctl_table *tab if (val < 0) { pr_warn("%s: %s %ld\n", __func__, numa_stat_name(i), val); - err = -EINVAL; } } #endif @@ -1862,11 +1860,8 @@ int vmstat_refresh(struct ctl_table *tab if (val < 0) { pr_warn("%s: %s %ld\n", __func__, node_stat_name(i), val); - err = -EINVAL; } } - if (err) - return err; if (write) *ppos += *lenp; else From patchwork Thu Feb 25 23:14:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugh Dickins X-Patchwork-Id: 12105175 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-24.8 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2352C433E0 for ; Thu, 25 Feb 2021 23:14:08 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 47CC264EDB for ; Thu, 25 Feb 2021 23:14:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 47CC264EDB Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BFB336B0005; Thu, 25 Feb 2021 18:14:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BAB916B0006; Thu, 25 Feb 2021 18:14:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC1306B006C; Thu, 25 Feb 2021 18:14:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0123.hostedemail.com [216.40.44.123]) by kanga.kvack.org (Postfix) with ESMTP id 95A756B0005 for ; Thu, 25 Feb 2021 18:14:07 -0500 (EST) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 642AEDB41 for ; Thu, 25 Feb 2021 23:14:07 +0000 (UTC) X-FDA: 77858345334.30.F933A49 Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) by imf01.hostedemail.com (Postfix) with ESMTP id 5F7892000395 for ; Thu, 25 Feb 2021 23:14:06 +0000 (UTC) Received: by mail-ot1-f45.google.com with SMTP id r19so7427954otk.2 for ; Thu, 25 Feb 2021 15:14:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=8+F1D1lXhzkAPi6K9Z/dpHmXeEnlD5O2kNPvAi2nZ4Q=; b=taz4RTC0+G8PvM1uwoOpuyhIsFuQGdRvf50tuJsYOFiiNSaCi7rH+jPsSMS08o7ric bsoj0G8BsyU2k/m14j5nHD0JpfC+lHG4l916bancc93Q0d2eOK2selxVKx14Jc3u6jYF t02UXofC8ofRkPG2NlqBOELORdM0pE9BwaH+HalgvvO1H4MMOwHXz7NmFozZXpETZTd8 fLczgVmcWQ0838PjYA+eAjYKNUknp8SOvgFRH8jkCbXj2qpethyUyuEnVb3cQwS3nO7o v7kH1INCxd26bDL+jkucY1HQaqOYon3GasY2S3h+PTTMnC+TMeN+5UhdHt3kL6b97xlr O/Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=8+F1D1lXhzkAPi6K9Z/dpHmXeEnlD5O2kNPvAi2nZ4Q=; b=uiGYwYYkuNCQX3jMCdqNFzqGeNp7MnC2goX7MJETAeuXJxhsziQJVI4aJbMFNQ9Y9e gx8n/KoPbdpj67twU92/ifkP3wrBCT/DdZiSTE8b7Gqsc6mYHxc1Q6Z6tSN5+VdRbhSb zsrXfcKYZ+DxWXXVVqOvQJOobaTDccNNochepQpqdgRZjQuz+AgPYbUalxoWsnYtGHf5 OCTYNjtfZOOAn1ISshLthhRDae6KDtssTb6a955307/TDA8zIh1z0T0B3dBP3w57u6H9 j0EXhKUKp/68edxDyT4fePoirZSsGNNpZoP3531YNa3ZkV21j36Y68rzm1FLZhtzYklg xGGg== X-Gm-Message-State: AOAM531VLfkxUB72sPsFSS9YoPG6zkr0utBVt3ObP+liqxhupsAy1J7l hhQ9pkfcQYF7P8+LM2N781vzXA== X-Google-Smtp-Source: ABdhPJz3q+mRKljzmwDKqp3s6gfNtnenOOZq7Rv89IrPJVnkql3IQAP216I6onQbw9nGWCB3wbx3+w== X-Received: by 2002:a05:6830:1416:: with SMTP id v22mr45280otp.239.1614294846254; Thu, 25 Feb 2021 15:14:06 -0800 (PST) Received: from eggly.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id h11sm1418826ooj.36.2021.02.25.15.14.05 (version=TLS1 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128); Thu, 25 Feb 2021 15:14:05 -0800 (PST) Date: Thu, 25 Feb 2021 15:14:03 -0800 (PST) From: Hugh Dickins X-X-Sender: hugh@eggly.anvils To: Andrew Morton cc: Roman Gushchin , Johannes Weiner , Michal Hocko , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] mm: /proc/sys/vm/stat_refresh skip checking known negative stats In-Reply-To: Message-ID: References: User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 5F7892000395 X-Stat-Signature: szh7ett614zqxzzok9tpfr3jpiabxmrx Received-SPF: none (google.com>: No applicable sender policy available) receiver=imf01; identity=mailfrom; envelope-from=""; helo=mail-ot1-f45.google.com; client-ip=209.85.210.45 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1614294846-457214 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: vmstat_refresh() can occasionally catch nr_zone_write_pending and nr_writeback when they are transiently negative. The reason is partly that the interrupt which decrements them in test_clear_page_writeback() can come in before __test_set_page_writeback() got to increment them; but transient negatives are still seen even when that is prevented, and we have not yet resolved why (Roman believes that it is an unavoidable consequence of the refresh scheduled on each cpu). But those stats are not buggy, they have never been seen to drift away from 0 permanently: so just avoid the annoyance of showing a warning on them. Similarly avoid showing a warning on nr_free_cma: CMA users have seen that one reported negative from /proc/sys/vm/stat_refresh too, but it does drift away permanently: I believe that's because its incrementation and decrementation are decided by page migratetype, but the migratetype of a pageblock is not guaranteed to be constant. Use switch statements so we can most easily add or remove cases later. Link: https://lore.kernel.org/linux-mm/20200714173747.3315771-1-guro@fb.com/ Reported-by: Roman Gushchin Signed-off-by: Hugh Dickins --- mm/vmstat.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) --- vmstat2/mm/vmstat.c 2021-02-25 11:56:18.000000000 -0800 +++ vmstat3/mm/vmstat.c 2021-02-25 12:42:15.000000000 -0800 @@ -1840,6 +1840,14 @@ int vmstat_refresh(struct ctl_table *tab if (err) return err; for (i = 0; i < NR_VM_ZONE_STAT_ITEMS; i++) { + /* + * Skip checking stats known to go negative occasionally. + */ + switch (i) { + case NR_ZONE_WRITE_PENDING: + case NR_FREE_CMA_PAGES: + continue; + } val = atomic_long_read(&vm_zone_stat[i]); if (val < 0) { pr_warn("%s: %s %ld\n", @@ -1856,6 +1864,13 @@ int vmstat_refresh(struct ctl_table *tab } #endif for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) { + /* + * Skip checking stats known to go negative occasionally. + */ + switch (i) { + case NR_WRITEBACK: + continue; + } val = atomic_long_read(&vm_node_stat[i]); if (val < 0) { pr_warn("%s: %s %ld\n", From patchwork Thu Feb 25 23:15:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugh Dickins X-Patchwork-Id: 12105177 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-24.8 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E1BDC433DB for ; Thu, 25 Feb 2021 23:15:47 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 241F964F29 for ; Thu, 25 Feb 2021 23:15:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 241F964F29 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 937A46B0005; Thu, 25 Feb 2021 18:15:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8E8E96B0006; Thu, 25 Feb 2021 18:15:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7FE496B006C; Thu, 25 Feb 2021 18:15:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0034.hostedemail.com [216.40.44.34]) by kanga.kvack.org (Postfix) with ESMTP id 682E86B0005 for ; Thu, 25 Feb 2021 18:15:46 -0500 (EST) Received: from smtpin22.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 36E52824556B for ; Thu, 25 Feb 2021 23:15:46 +0000 (UTC) X-FDA: 77858349492.22.1479C68 Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) by imf22.hostedemail.com (Postfix) with ESMTP id 47B73C0007D0 for ; Thu, 25 Feb 2021 23:15:42 +0000 (UTC) Received: by mail-ot1-f42.google.com with SMTP id 105so7428730otd.3 for ; Thu, 25 Feb 2021 15:15:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=Smj9hGl2RbGm2CySkaquhF9hKXGORoT8wFtF23aPw80=; b=PQGapdtWdHUGvCi4b/U/fKSxKfUa3+e/PkCB9xyTGoprNmMWOt+EFulQdTJXOhC2kE tnXT5OjUevpUtXJ61zrNNs57toOIMqekxK2ymiIX1dQZl2xewyyxY0tsbA3lwcbkxVJs 0T0hPe+/vHoLnwpD4Ogji36u0TEX3qc7+W1CW4M9vqusdlz/AYjR1Hs15qvHJRwi2o5c OsOsV1s7uC+H2ribn2aMqGB/liPnNCoYChsODRXycMZAUuFrkgdmOkARiMEKQAkSJhnE D9bpWDcMqJFMY7P19IGXgjEwk6pfAoLWFZ++i/VYxfaG/3wfG3HivaMo6D+JNsPngvuK cRCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=Smj9hGl2RbGm2CySkaquhF9hKXGORoT8wFtF23aPw80=; b=DvWhCf9+3FqFI7iQicbl9LZHAAQR6OKwI4RC29ATxFMftleBLwXrEKMe+1oBzB0NLd pj1t/Cet8rOJ2sstk+f/ezUbBw78WeF5nPBwqPdy7LqAvmiEUO+Yl9/x0B0fGF4FWuse +XwZnzO+0NgCF4qXKW7jX74B314B9KlHgPY7DyrvDyFro7Am5DYU2XGORxexDNuphCjL /amv/oyHNG3dNDFfpfeWNZmg88Ikd5ouYp4rvfOFNWibTJ9bYt+/xOUisy3eMDwhvxio ptaguO2z6NQvpWZ2/ZkSGaMhUgqClfYAqRUapSSEqrCBthRvRGdnjFAla2GRSbX/jUuk XPmQ== X-Gm-Message-State: AOAM5306ZZTWq9AAMSAb3cX56Gpo6EzhtagxCFH1g2C6glcZVXkMIkgY +A4l5hICmTdJdvgBn2OECVvR/Q== X-Google-Smtp-Source: ABdhPJwbH5jvPK2gCLC3PeoMa4S06XMPNqRsA3R2ADfVT5/7tiGM4VGjxoFR2Y5LuJe996G+Qavpjw== X-Received: by 2002:a9d:1429:: with SMTP id h38mr59302oth.135.1614294944875; Thu, 25 Feb 2021 15:15:44 -0800 (PST) Received: from eggly.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id j100sm1404302otj.66.2021.02.25.15.15.43 (version=TLS1 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128); Thu, 25 Feb 2021 15:15:44 -0800 (PST) Date: Thu, 25 Feb 2021 15:15:42 -0800 (PST) From: Hugh Dickins X-X-Sender: hugh@eggly.anvils To: Andrew Morton cc: Roman Gushchin , Johannes Weiner , Michal Hocko , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] mm: /proc//sys/vm/stat_refresh stop checking monotonic numa stats In-Reply-To: Message-ID: References: User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 X-Stat-Signature: 4k7uazsfki6k7jybtgr36g3awnh8zbrf X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 47B73C0007D0 Received-SPF: none (google.com>: No applicable sender policy available) receiver=imf22; identity=mailfrom; envelope-from=""; helo=mail-ot1-f42.google.com; client-ip=209.85.210.42 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1614294942-621454 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: All of the VM NUMA stats are event counts, incremented never decremented: it is not very useful for vmstat_refresh() to check them throughout their first aeon, then warn on them throughout their next. Signed-off-by: Hugh Dickins Acked-by: Roman Gushchin --- mm/vmstat.c | 9 --------- 1 file changed, 9 deletions(-) --- vmstat3/mm/vmstat.c 2021-02-25 12:42:15.000000000 -0800 +++ vmstat4/mm/vmstat.c 2021-02-25 12:44:20.000000000 -0800 @@ -1854,15 +1854,6 @@ int vmstat_refresh(struct ctl_table *tab __func__, zone_stat_name(i), val); } } -#ifdef CONFIG_NUMA - for (i = 0; i < NR_VM_NUMA_STAT_ITEMS; i++) { - val = atomic_long_read(&vm_numa_stat[i]); - if (val < 0) { - pr_warn("%s: %s %ld\n", - __func__, numa_stat_name(i), val); - } - } -#endif for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) { /* * Skip checking stats known to go negative occasionally.