Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp934143pxb; Tue, 9 Feb 2021 17:11:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJxPkbAKmLp8/hkC01EIaFJWDA0Am3HqbbpB2Ed7daP2iEHPxdehM0ccKRu2m/+LNGG2z0M7 X-Received: by 2002:a05:6402:4312:: with SMTP id m18mr861345edc.99.1612919499316; Tue, 09 Feb 2021 17:11:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612919499; cv=none; d=google.com; s=arc-20160816; b=SXGnyryhgrGYEcxQ8wy+eF0l7Ijia50iFaeLGwtL8mA7TydKYQSvOfN2OWgGcxXyfb SoF7ZIwIq0K2hfHTbLA9FPcli3+7vc5qMsDFv1h3cLdU4t9u5OMJ246KB5ARl7RpmSyc KixPtCvvEpNBa5dydVXbbXM57ZAdqe6Fba968L+6UH/8EWg/lIm+uZD14xIojErqALth G8q7H0xhpSLVBSUKDN2aAkHPbxzPUcvbUDHs1zM6+OTfHVq70RqC6JH01dj0hV5tjaRD C4tl1je8d154clxGU3bEjGwc1DK0xdU7maV0i1C0n9/ZhwOqI/L3TR2o/1RBBJv1L976 KX+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:ironport-sdr:ironport-sdr; bh=MrJ3b1LaHBcrHqqu+6gxTU5XxWVw/mUM4/yN4qbr4CI=; b=hRCa4xf98qgjkihAgZznpNAWCEFD7FU2jPzd8Zn1UxnaOtFgL7YF+iRsGw6x/wUnhU MEFvmuQGEmQZeYb5CsCXxqjFkNE4f2VK+QJ8VuzMHPBFRr9w8PDjrYBS3M+M+a6vJMRu pPucOdp0JYupFNDPsWv7PaXaBn8Cmtrt16lci/PkuWVqwrQCx5eW7lUYxurxO58zAsOq kNpg/qVaZ+5ZH5xTkEoA/zvY3VOZwqVnsTl3uAVQPhndwfIJwBc94DaohDWhLZrogu74 6lPJTFT00ly7XhYRfJ3EseJr00Z/P1iNNfl28uJEI7hHIdmD9cs70I0Ua40AGa9p3woK 8/KQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h18si304547edw.152.2021.02.09.17.11.16; Tue, 09 Feb 2021 17:11:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233994AbhBJBKr (ORCPT + 99 others); Tue, 9 Feb 2021 20:10:47 -0500 Received: from mga17.intel.com ([192.55.52.151]:2579 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233556AbhBIWgQ (ORCPT ); Tue, 9 Feb 2021 17:36:16 -0500 IronPort-SDR: 7ArKe95l7IrpZ1mQrN6DTQElFgsWpTHg9MwiD4BELc8sxPMVMhv/HmbANfmRtwAVWxxgL4GIqQ HTQnVYDb8Chw== X-IronPort-AV: E=McAfee;i="6000,8403,9890"; a="161723488" X-IronPort-AV: E=Sophos;i="5.81,166,1610438400"; d="scan'208";a="161723488" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2021 14:34:08 -0800 IronPort-SDR: +/4lDtE6xcDGA0a9zhq3pbGtdjQUwq7fBvn/8iF/utwH12XhbXOrnCM5APNHhz/h6lNzmZGxvQ 68gV8XdX8xUg== X-IronPort-AV: E=Sophos;i="5.81,166,1610438400"; d="scan'208";a="436430938" Received: from schen9-mobl.amr.corp.intel.com ([10.251.26.185]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2021 14:34:08 -0800 Subject: Re: [PATCH 3/3] mm: Fix missing mem cgroup soft limit tree updates To: Johannes Weiner Cc: Andrew Morton , Michal Hocko , Vladimir Davydov , Dave Hansen , Ying Huang , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org References: <3b6e4e9aa8b3ee1466269baf23ed82d90a8f791c.1612902157.git.tim.c.chen@linux.intel.com> From: Tim Chen Message-ID: <3445ebcd-bc69-ec6e-8995-c95753b5c4a7@linux.intel.com> Date: Tue, 9 Feb 2021 14:34:07 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/9/21 2:22 PM, Johannes Weiner wrote: > Hello Tim, > > On Tue, Feb 09, 2021 at 12:29:47PM -0800, Tim Chen wrote: >> @@ -6849,7 +6850,9 @@ static void uncharge_page(struct page *page, struct uncharge_gather *ug) >> * exclusive access to the page. >> */ >> >> - if (ug->memcg != page_memcg(page)) { >> + if (ug->memcg != page_memcg(page) || >> + /* uncharge batch update soft limit tree on a node basis */ >> + (ug->dummy_page && ug->nid != page_to_nid(page))) { > > The fix makes sense to me. > > However, unconditionally breaking up the batch by node can > unnecessarily regress workloads in cgroups that do not have a soft > limit configured, and cgroup2 which doesn't have soft limits at > all. Consider an interleaving allocation policy for example. > > Can you please further gate on memcg->soft_limit != PAGE_COUNTER_MAX, > or at least on !cgroup_subsys_on_dfl(memory_cgrp_subsys)? > Sure. Will fix this. Tim