Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp814021ybl; Wed, 11 Dec 2019 07:55:47 -0800 (PST) X-Google-Smtp-Source: APXvYqzeO+QwBnPLglGsr78mvgadWEH7aAU+pG5Nr02d4SG2aEMb0MIMHU5MA7wXne4ICQLFWKxC X-Received: by 2002:a05:6808:8ca:: with SMTP id k10mr3194215oij.164.1576079747732; Wed, 11 Dec 2019 07:55:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576079747; cv=none; d=google.com; s=arc-20160816; b=yXsrucV8HL8FflVm1fVC0C+d32xeGunr5wPwSL7nbrlwqObE37fZE5v+y7OHtbOJg4 WeZGOBmZ6R9X+L196FAd0Uvh0KTvSgEHcjcv5hNTzdl/0G1sbpH4KrMxzpixFf09rOPr dOmYImxNzIKGLT3UKDGYlyR2NSHki8xTe2jpxch45fhHJPm1lI73jFwQ3GPz9wtB/RQ0 /da3humwoKRy+OtFqFos49Ey0q+jB9X3hAzQdlqFq8RMW82hTw0tAk6+ahKMEx8sBuEG sloAGny9yazVeiqEvMVzv0q0pLpN97zxvTvftJG940eYv0UNm1EUD+E27FMpiiu/dK6P AlJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=YDaEXFzO2bl9JoK2Ipd1Y5poO0tOB/qRL3p62rWoKx4=; b=vyn+mb1BP1DZMT/kNAuI/QU4Di+RtusZNpM1fT5/5YMrKBScstVtOdmnkDpLd4VhqJ CI7SDqpyegckzPz6VkTfUpulzEvM5G4laz4HLnlOQY1mTveydMrDmMnQp2PQ/UwUbeSK uxX240Lt2Qcj3K4lyneipS2G2J/dVtLwVz7yK17qajaLRRtw8U/sGozvPM2NrD//a8eX KzEqwRUHcgHn7TvbtpOXx2ri9gDf2qALpqP9QZzWM2TBFxpUTmS5Xey5MyyWFzgP2trB 8NcVxDZezmbrGj/UIGYLgVCEZwDxN6lpC22/2EiTnL3fZcgYYUJjHIUgtIoC9xLnZaCx 9/oQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=YG8pZxX4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r12si1444969otq.156.2019.12.11.07.55.35; Wed, 11 Dec 2019 07:55:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=YG8pZxX4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732130AbfLKPSf (ORCPT + 99 others); Wed, 11 Dec 2019 10:18:35 -0500 Received: from mail.kernel.org ([198.145.29.99]:46488 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731859AbfLKPS2 (ORCPT ); Wed, 11 Dec 2019 10:18:28 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8A7E422527; Wed, 11 Dec 2019 15:18:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576077508; bh=oi0NwHz/0+UXCaZM5CXMYdplOMcRs9ZrS4m8zdYsDv0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YG8pZxX478TdQet0bxu6/vhNQeQjJd7J2einetm+YtO68+/tKut9A0WqVOKZ1DLGa dip1NQ1JPYj5JzAMA0FpLcYdu7FxVxoJDxsxRhdM+l7INhgMGA7HkzGTJxSSVDpBWK YrLtCCaVzBjYJ6SUPZ9NU7rLX5a/N4Rq4QEIvBws= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Janne Huttunen , Michal Hocko , Andrew Morton , Linus Torvalds , Sasha Levin Subject: [PATCH 4.19 064/243] mm/vmstat.c: fix NUMA statistics updates Date: Wed, 11 Dec 2019 16:03:46 +0100 Message-Id: <20191211150343.419011891@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191211150339.185439726@linuxfoundation.org> References: <20191211150339.185439726@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Janne Huttunen [ Upstream commit 13c9aaf7fa01cc7600c61981609feadeef3354ec ] Scan through the whole array to see if an update is needed. While we're at it, use sizeof() to be safe against any possible type changes in the future. The bug here is that we wouldn't sync per-cpu counters into global ones if there was an update of numa_stats for higher cpus. Highly theoretical one though because it is much more probable that zone_stats are updated so we would refresh anyway. So I wouldn't bother to mark this for stable, yet something nice to fix. [mhocko@suse.com: changelog enhancement] Link: http://lkml.kernel.org/r/1541601517-17282-1-git-send-email-janne.huttunen@nokia.com Fixes: 1d90ca897cb0 ("mm: update NUMA counter threshold size") Signed-off-by: Janne Huttunen Acked-by: Michal Hocko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- mm/vmstat.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/vmstat.c b/mm/vmstat.c index a2b2ea786c9b2..ce81b0a7d0186 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1826,12 +1826,13 @@ static bool need_update(int cpu) /* * The fast way of checking if there are any vmstat diffs. - * This works because the diffs are byte sized items. */ - if (memchr_inv(p->vm_stat_diff, 0, NR_VM_ZONE_STAT_ITEMS)) + if (memchr_inv(p->vm_stat_diff, 0, NR_VM_ZONE_STAT_ITEMS * + sizeof(p->vm_stat_diff[0]))) return true; #ifdef CONFIG_NUMA - if (memchr_inv(p->vm_numa_stat_diff, 0, NR_VM_NUMA_STAT_ITEMS)) + if (memchr_inv(p->vm_numa_stat_diff, 0, NR_VM_NUMA_STAT_ITEMS * + sizeof(p->vm_numa_stat_diff[0]))) return true; #endif } -- 2.20.1