From patchwork Fri Feb 15 18:14:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10815665 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2D9F0922 for ; Fri, 15 Feb 2019 18:14:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 77AC02F66F for ; Fri, 15 Feb 2019 18:14:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 68DCB2F74C; Fri, 15 Feb 2019 18:14:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4EF042F689 for ; Fri, 15 Feb 2019 18:14:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 06B5B8E0003; Fri, 15 Feb 2019 13:14:33 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 01A3B8E0001; Fri, 15 Feb 2019 13:14:32 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E742E8E0003; Fri, 15 Feb 2019 13:14:32 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f69.google.com (mail-yw1-f69.google.com [209.85.161.69]) by kanga.kvack.org (Postfix) with ESMTP id B64D98E0001 for ; Fri, 15 Feb 2019 13:14:32 -0500 (EST) Received: by mail-yw1-f69.google.com with SMTP id b8so6397699ywb.17 for ; Fri, 15 Feb 2019 10:14:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=NSVRB4KCxOzLiCcKtVzLdp3bqBiDRMqjw6+T+tZutHo=; b=ob+swExpNm7LoF6qLNWyWo6JURmMckt4VS/AW3Pd3spDexCnPJap3SrS+o0/61OcBd qYa8Wa85Bg5YzY2Oui3jU/IaCyoPdmFVAIfHas2wLOpLNb4AZmBZGy27qwCN7t+sh5HE wlIqhcPsyHcDgdl3M/CdcdUDWAqd3wWLFwouC9p7bss/rf9hYkvDWNE42I+3U1as/1Z0 Ebk141mQMXqYnR9XXzki/E+xIKu0QN8ZkMW2zqnBgIqobzIgM+NZHbJtldCztwUebtLR 1i39Vt1orCcr2vRgQwcbNFjL8kocKze4T5Zrhx1GZGftSuaMDvZ4JNGeWku39zY74l2T qXmQ== X-Gm-Message-State: AHQUAuaezYgmTkZbVoCux07wKEoymOjeLGSl7pF6ZQBH3ovIYcCy+QA6 Uiw3sduJsDIK3A5hvqR3ESiFAWwuwOI+O+S+l4FBvTugCzjXCvD0tAIGlcBUedKhFmZqwAZFSq8 Oir7bDhWCCMRJ2OHo4Tw8KthXxJgD55Ogi1snSgLzbIH4SSQia9k7p9/h1Fkg2xA2p4IrGHGfQG JVX53SouUkOB0kXp6dzwou+bEM5JOaCoPVQ3J3Vxb8mc/sEluqKrGT5bzpwAVd+eWm5mrkqQP+a EH4DGYpfxwSniyivFSexqxBYtgr7+CkDdrhvcp30ZSvAoljHmRnTDrAphsmnGJbKpJ8+xGk3Rzu Kk3o7yciQaiq4hmyLVFQL95Ugr4Z3GzPMHzGwLVEDFqxpAo0+o05pZMkwj6LU58FNJCCWQQ1jJr 2 X-Received: by 2002:a81:5d87:: with SMTP id r129mr8865047ywb.347.1550254472408; Fri, 15 Feb 2019 10:14:32 -0800 (PST) X-Received: by 2002:a81:5d87:: with SMTP id r129mr8864999ywb.347.1550254471687; Fri, 15 Feb 2019 10:14:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550254471; cv=none; d=google.com; s=arc-20160816; b=x/cPqwnsOnxHPmBj8Dib2K84GeQmb7o6MOSv2DuQlSWxrLJdIWu9rg0RfjwEYmqZlg Q+kkDD8CHpwu0Dec8fcOjxlz7WNOtfYT5ORxsgHnu6ciHa7dE3Yu30UMrXop1hWpk9q8 5NYYebADvgNZligwPBILf/NqEnRZCSfvlboj8euYnTB3rQAcZmFscHhlxcBW5E3eTG6G 5jOQiLzEvEdLjfdVVrYu/06OxVAz9yAv3kTnz2Doc3+D2k87u347Wy89LtA+Daemi53O HSBoYgURv8J0+aHRBQvekHckYYXX8FO3PqO3djn07oqdGISGlaBJfo4bgeePJxyVCoqC bjYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=NSVRB4KCxOzLiCcKtVzLdp3bqBiDRMqjw6+T+tZutHo=; b=APrgmDGXa8buFltwDC9Jby+EH98u4gnw5D2VHOw9S7gT9D7TvfXHHeXuRotSQ4aR5R 5PDZSN+KDG/iFDxDPmUAq/ce0mJ1VcA2O+RKTl4fp1BSDAqMm2QdlqmFTwQd1lpSxiVo FxXqyvgvRV2hNyLBi1w0yH4PzbQsm+MEqzNueLsH0pTyIaEuEE3c9ak61M2iTM1D600n Oqm0Bq4/GmqFOj2HpxsbdcjtkZ7LVGIiAnesmwkYkhQmyFdHLZtsRzXcKttLIrEU2yeq uZGoPJbWGmaHNb4L60JncCpL23VjogogmMigymxxs5UaRzorFSLRBopDlH0eQ8/lr7CG f7tQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=bKmg92sU; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id h204sor2870722ybh.207.2019.02.15.10.14.31 for (Google Transport Security); Fri, 15 Feb 2019 10:14:31 -0800 (PST) Received-SPF: pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=bKmg92sU; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NSVRB4KCxOzLiCcKtVzLdp3bqBiDRMqjw6+T+tZutHo=; b=bKmg92sUiX5H/aar4+WmpOfQmxy/hG1c2YHfPUxNtki4sheyTomFyVrzH9ntdCRAyx WMef03M9PiBmcDvaDgiyaJdE3worIGUODUmyeQUiwXDn71kT5mpQ3K+F72km/7vMxHgy qyAJdWh9IBCOY7HBWtwuWspK227bmgvl9cvZEw+iU4fXonyASI0DzvnLcU5B1GD8iu3h JZfIHl+MyP1yGWCCOHxU3Tfh3CSQNvbxVXxC3+vnDvUWdFnamgPTq9sckkgQalxoa1zn 9+Ox8YJd/kmPVpOlKAcgEfei6I5y+YerssXk7839LFJ9gDZAAkteIWz8EFKtCe3v+15h CBUQ== X-Google-Smtp-Source: AHgI3IbpwW5Q4dPkw9VzQm4AkpJI/omhQBlFnrFV+tByaOQ7rIM3b+THxwDztmiDkRMQVJE8hFe0rQ== X-Received: by 2002:a25:6e8b:: with SMTP id j133mr8968247ybc.220.1550254471365; Fri, 15 Feb 2019 10:14:31 -0800 (PST) Received: from localhost ([2620:10d:c091:200::4:33c1]) by smtp.gmail.com with ESMTPSA id h205sm4730096ywh.85.2019.02.15.10.14.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 10:14:30 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 1/6] mm: memcontrol: track LRU counts in the vmstats array Date: Fri, 15 Feb 2019 13:14:20 -0500 Message-Id: <20190215181425.32624-2-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215181425.32624-1-hannes@cmpxchg.org> References: <20190215181425.32624-1-hannes@cmpxchg.org> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP The memcg code currently maintains private per-zone breakdowns of the LRU counters. This is necessary for reclaim decisions which are still zone-based, but there are a variety of users of these counters that only want the aggregate per-lruvec or per-memcg LRU counts, and they need to painfully sum up the zone counters on each request for that. These would be better served using the memcg vmstats arrays, which track VM statistics at the desired scope already. They just don't have the LRU counts right now. So to kick off the conversion, begin tracking LRU counts in those. Signed-off-by: Johannes Weiner --- include/linux/mm_inline.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h index 04ec454d44ce..6f2fef7b0784 100644 --- a/include/linux/mm_inline.h +++ b/include/linux/mm_inline.h @@ -29,7 +29,7 @@ static __always_inline void __update_lru_size(struct lruvec *lruvec, { struct pglist_data *pgdat = lruvec_pgdat(lruvec); - __mod_node_page_state(pgdat, NR_LRU_BASE + lru, nr_pages); + __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); __mod_zone_page_state(&pgdat->node_zones[zid], NR_ZONE_LRU_BASE + lru, nr_pages); } From patchwork Fri Feb 15 18:14:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10815669 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A0DDD17E0 for ; Fri, 15 Feb 2019 18:14:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5E3A02F689 for ; Fri, 15 Feb 2019 18:14:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5254D2F7DB; Fri, 15 Feb 2019 18:14:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DCD942F689 for ; Fri, 15 Feb 2019 18:14:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 99B5F8E0001; Fri, 15 Feb 2019 13:14:34 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 794C18E0006; Fri, 15 Feb 2019 13:14:34 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 688318E0001; Fri, 15 Feb 2019 13:14:34 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yb1-f198.google.com (mail-yb1-f198.google.com [209.85.219.198]) by kanga.kvack.org (Postfix) with ESMTP id 4063E8E0004 for ; Fri, 15 Feb 2019 13:14:34 -0500 (EST) Received: by mail-yb1-f198.google.com with SMTP id 67so6267678ybm.23 for ; Fri, 15 Feb 2019 10:14:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=0Mi2kL/2WsC77PZT2+GFY8rm4/RmpjTroxvb9aqMFLo=; b=F5BBDArJytM3MEGmWhMLgibcjKUuOxUKd6Za04nYppoKH7KnzGcyhkmjfdP5+NZR4S SdlOaVHy6cmpge6N1YpdwXL8n3WsoxC7kZtCZ7qE6FYtb6tcobDLkan4cT6c1/luKd/E B9PsSy64PwDtMTGHbdukEjPZH/bS3XcNPGfB/Rk/EdfLtYY7TSpVGpeKS48QbVqAy2yv MeQ4fMWstFd6lhJlYHhikPIyTTskbGPI+UYxuEjeZgPdKVfF93bcbw2x+UTzEbH4fsD8 9jiCpUYIq2wropXQVsplk5EdoLCw6yv3RhDfd4zyj3NEdgCcLpq7Jj9Seas7Mc5Z6zkt EXRA== X-Gm-Message-State: AHQUAuYZ7Wc9wqio1nWVeDIpACWsX5sBSlCOclgC/DQ754uF49/avnyW sU6TTkaT2Ye3cF053JJH/jstbqhb7FxcmD6GypdN06MyBehDSOHIH5/SHe6G5k6LhITYGqDr617 4BAvLztyEbCQIF6yXj+hH8xb4kH3GcJIcaOzIWcV/ZGsnxfjR1B38hgAuIl9L/q5mAd5wa1wRKy Ejc3WrepQZmBOE07VW8DHhuu+zbA1FTK+GXh/BPoORsTJVqOa457LtBiIgegozdWP1WJiR1p5Ac 0jRpXJvsapNtWSe69uPZfVhIx+QzYOsG270nJAQ5GhdzGpjEi9jU9GYFmd2lT6njVzmY9QMKAu3 3xs/gOhJrp2OfbXdKwaddnan8biZuJVmsxFVNQMwzPGE6Y9JaZ87L6QQlTiX2oiR5049beqZyYv V X-Received: by 2002:a25:bec2:: with SMTP id k2mr9212625ybm.328.1550254473991; Fri, 15 Feb 2019 10:14:33 -0800 (PST) X-Received: by 2002:a25:bec2:: with SMTP id k2mr9212571ybm.328.1550254473275; Fri, 15 Feb 2019 10:14:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550254473; cv=none; d=google.com; s=arc-20160816; b=NTAda0OKXM53NvSNour8cjk+wfe3dP/QnPg6jxE1nXXUi3jxpZ8UHdSviGcXWKI1Yx IEZNuoW9x4Rar7ZWyEjKhVyE/wEhM6GuvX+q/Hqxlln1a8EliGQigu+8j3cTCmWaP5/D sUcJDaCBnznSywZXDLWPUCCa4V9y1lz86tyFDTTghxgb2HjT06j4QwRKjOVqCgiCTUU8 u6Vmyps+zWXJptGai0KCoXVs8+HNF6PgN/cCpLd+qFtMZu2w9nWZe4pHYOsAGGglackz e+eSuDolr/vrUMI9tpOKTb4H6OhgLq9tKSqgb7ZT3N6Q8kR0Ko+60/HUrkKPMgI0vXCp CRAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=0Mi2kL/2WsC77PZT2+GFY8rm4/RmpjTroxvb9aqMFLo=; b=VPz58t/8uhaixamWws0wipuX2g3JsD1HGcCp9xxEgXfjgM7b0NLNopNWwcZu4G9PyG 9BSYMJQHCge/7aFIVSEG8UmJ/Wqe97FfBpHgK2DvJmO4bQtnrVmbNpEW6ov8FYOfyy/6 XnoEIHn9N55brxzHPoz0VW+SE2gn0TgsxSEy9cOekgMZAAfnmyGGX+VKAG9iSspMhKfl nXwSIEhcBDsUzyU/wCNI2//cJql4m6ZCQqRC5yi5RHP3MT4M9M0JSJcql0A41clnguwg 35vnrB3ZtvOmPVaDQY6pyKQ+bbpmcwPKDcWKwQ59wJI+1IJz8o8JKrql9y45ExyhE3VU QVbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=T68qNAfX; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id d193sor1213764ywa.135.2019.02.15.10.14.33 for (Google Transport Security); Fri, 15 Feb 2019 10:14:33 -0800 (PST) Received-SPF: pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=T68qNAfX; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0Mi2kL/2WsC77PZT2+GFY8rm4/RmpjTroxvb9aqMFLo=; b=T68qNAfXm8z8Lj+3Sujbvrk6lrgzOm9xtKSZ/IbmFiUVElTgSyqQ2V+u8V/D9scygU xxfD6Glf1ZjEFDVjQQL1tMksAEl64SR6rxg+DSZh4qQylcB+qKG7yvncHsUD6laSivYP yrEesjRu1nLQkP3oKWLthCKmAAhpLG/cLBDhHmDEZHhlsOsBcznvipgKZKTxTcWUSIlS 3CGsUy80UjqzcUyhdj0RAav/iNiNe2XnpUFfM0WEFDf/Nju/TBXsm4AIq5xgFLVGyhme /L0ACh/CL4wCcQTp/ogKd2o1NGC+q+Wz6XVJ5SxvPfpO1E1z2MSsbYxU1mnLMYATxkqx ds+A== X-Google-Smtp-Source: AHgI3IajdWAbqPOMknx8ni8lnxgBEq1c4triDMsgoY5L29gO6lYAJj0wzEH0Eefp7qQvohqB2OEqow== X-Received: by 2002:a0d:d857:: with SMTP id a84mr9171114ywe.121.1550254473071; Fri, 15 Feb 2019 10:14:33 -0800 (PST) Received: from localhost ([2620:10d:c091:200::4:33c1]) by smtp.gmail.com with ESMTPSA id j22sm1915679ywj.37.2019.02.15.10.14.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 10:14:32 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 2/6] mm: memcontrol: replace zone summing with lruvec_page_state() Date: Fri, 15 Feb 2019 13:14:21 -0500 Message-Id: <20190215181425.32624-3-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215181425.32624-1-hannes@cmpxchg.org> References: <20190215181425.32624-1-hannes@cmpxchg.org> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP Instead of adding up the zone counters, use lruvec_page_state() to get the node state directly. This is a bit cheaper and more stream-lined. Signed-off-by: Johannes Weiner --- include/linux/memcontrol.h | 18 ------------------ mm/memcontrol.c | 2 +- mm/vmscan.c | 2 +- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 83ae11cbd12c..206090de5d7c 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -499,19 +499,6 @@ void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru, unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, int nid, unsigned int lru_mask); -static inline -unsigned long mem_cgroup_get_lru_size(struct lruvec *lruvec, enum lru_list lru) -{ - struct mem_cgroup_per_node *mz; - unsigned long nr_pages = 0; - int zid; - - mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec); - for (zid = 0; zid < MAX_NR_ZONES; zid++) - nr_pages += mz->lru_zone_size[zid][lru]; - return nr_pages; -} - static inline unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) @@ -947,11 +934,6 @@ static inline bool mem_cgroup_online(struct mem_cgroup *memcg) return true; } -static inline unsigned long -mem_cgroup_get_lru_size(struct lruvec *lruvec, enum lru_list lru) -{ - return 0; -} static inline unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index af7f18b32389..a04177f25758 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -730,7 +730,7 @@ unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, for_each_lru(lru) { if (!(BIT(lru) & lru_mask)) continue; - nr += mem_cgroup_get_lru_size(lruvec, lru); + nr += lruvec_page_state(lruvec, NR_LRU_BASE + lru); } return nr; } diff --git a/mm/vmscan.c b/mm/vmscan.c index e979705bbf32..f88fef03fc04 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -346,7 +346,7 @@ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone int zid; if (!mem_cgroup_disabled()) - lru_size = mem_cgroup_get_lru_size(lruvec, lru); + lru_size = lruvec_page_state(lruvec, NR_LRU_BASE + lru); else lru_size = node_page_state(lruvec_pgdat(lruvec), NR_LRU_BASE + lru); From patchwork Fri Feb 15 18:14:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10815671 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2E274922 for ; Fri, 15 Feb 2019 18:14:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E9EB2F66F for ; Fri, 15 Feb 2019 18:14:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 12A022FDF8; Fri, 15 Feb 2019 18:14:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EE8062F66F for ; Fri, 15 Feb 2019 18:14:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 109C68E0006; Fri, 15 Feb 2019 13:14:36 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 096CB8E0004; Fri, 15 Feb 2019 13:14:36 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E9B0C8E0006; Fri, 15 Feb 2019 13:14:35 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yb1-f197.google.com (mail-yb1-f197.google.com [209.85.219.197]) by kanga.kvack.org (Postfix) with ESMTP id C92858E0004 for ; Fri, 15 Feb 2019 13:14:35 -0500 (EST) Received: by mail-yb1-f197.google.com with SMTP id f8so6354956ybj.13 for ; Fri, 15 Feb 2019 10:14:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=m8WChnDGiJjl3dG7Qy7BcuERcz0zJgVAywmHmi4mw/w=; b=Acn3/Ed3KciUjkyorlgjPObx5T6Vpw+R7hj2JAXxjmsQxthgpmdxmUHDT7tz5tyO0m uy4lvUExgmovvfm+fScumzRHREoSrBgXnew9Aue8R9s4LGRosX6jYwhygl598kD0cjzc lmlLEZBBBpdpHn4kyjUthkdnLajJ4LADUOCOsBNuk5zKXuz+9HSMybN9x1H8U50XOEue ev+9wmCAph5vfnrhQPIWcVLQpt9Sq4dMdlHlxL8RbADKGP1GQ+pKYnjOtTgZe69r00RN etT2lMuBT1Edw9jRav7Ap5vTmw4z0q5EQKYe9jvqQuyqJs8droLEImp8RHAMs7rJf8Tu gPfg== X-Gm-Message-State: AHQUAuZCmcaQY+zNkAxzhzwHKGxmO4hmIKjtjMvE3/mzPtt6fWvFw5sU zLtHeTMS5hjtFjLQXA+IaxmgONP+3inQPVRpiZOzJNcVLWhOqkY9kLRtWPQYktw52iNIdrMrVUk OhJDa5gUTQjVKleVp5Rb/WWA5V8MTlOT1YKEQAhFBZ06KbHtJjH8nD+k0a+BX59+7ulb/IURnSZ AoP4EF/my11lILcB4AwRt9+zlVn9sJU3ig4i2k79fGoQx6O8RIQn5OEujim1IovufKiz2gCfiFa ltYrbX+TtP2Za7ZJkpFpvHI6ovTn28nksdGbapCg2oMgScj3WEuaubcxLTAIKVlS657KQ0OzAx4 6MM8WTlQlHKiNBnGF3QH+tNCdYekLRoq+oO8HfXvoQl/N3t9+ACjaAKjfz3Pv9aM3onflTc/oVw h X-Received: by 2002:a81:5149:: with SMTP id f70mr8949013ywb.289.1550254475583; Fri, 15 Feb 2019 10:14:35 -0800 (PST) X-Received: by 2002:a81:5149:: with SMTP id f70mr8948970ywb.289.1550254474967; Fri, 15 Feb 2019 10:14:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550254474; cv=none; d=google.com; s=arc-20160816; b=ICQlcLNPdcyz9YLkOx8WYqXauCx5rCa79vXAKs+4/ErlGejYtCv+9Lam25hRtJD087 MSpe5J2LnOWwXA2BcHNqJiRrR4LRLaPnhWt5hDK4nUjVR4Q8lJ0OM6DTUlZ81o2GSUSW HyNYle3S7AXigqMR2LVpkN1ZEA5N6aO45ImHlS5ucmgimHfA4mxWRi9h+cd5h49e4at6 j7EiGmMdcNWyEdGiE5aq/bCTxucjp8tyAbSCuh4h99lxpX7gbEXygask7sJD4leRHlN5 uBLZG8l73jWjPNWZYMHHJuOGWjZp5p5gNVpqzUTSRvP2tGzBu7HA3XQ3aAqKG8tGDIpg WzPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=m8WChnDGiJjl3dG7Qy7BcuERcz0zJgVAywmHmi4mw/w=; b=nE78g2oSvZUoWP0KRxEbX52KZhCB4Rn6AApXdMjkeVxuQ8K/ctTAoGOgJJtDgdTZUL jF3aDOMXrxz/3SvRVgWxt8yiGMmLhOV04i6gi0QPcGpn/7rLzDm8qM7ZE0oigH7G4y1U BNUA5RLQOUZnRIxAUNC9h+MZ6SU7OOFVofRxlOUUJTe18f+0Q2904NSf8MM9RRnBAJsV RgSTEprZ+/CKY3Wi2AIPlK9iCZz6H8BHpN+8zevxiFRfa6r3d3EntnHLWBnx/ejJQKEb qJ79cARV/vVQTLuXJiHYMwZPhs9p7rBYotQn9hw7AzpEdp0RDSsA8BHzpHPb+xFQoNi2 KpjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=UdfnkLw0; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id k4sor3213703ybk.74.2019.02.15.10.14.34 for (Google Transport Security); Fri, 15 Feb 2019 10:14:34 -0800 (PST) Received-SPF: pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=UdfnkLw0; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=m8WChnDGiJjl3dG7Qy7BcuERcz0zJgVAywmHmi4mw/w=; b=UdfnkLw0LmmTMvDdh9ElM17TqIoS3oWEjsSyoG4o6RGsaPK+fs4daWXmy0W/V7D+78 Ob2Pc5U21jjOaaMkxoMxu9tYDRhLSY2CL/sI5SGMTfBDcQdRvqtWJ1c9dngW43CxCbTv 9p4H2xQVSXhBxNYvad1mhG4sR3iDigfmHjGeDfRaTU+7XjGsyeFxL22FLqvWeI/UsRbR PTdCQwKwdVXH+yJAh1ngZAjeqZ2nUBqtDoA+jtJ5gStQMocaU9AuCbQLZYLint5d9dxj S9J7e7kCePwD2WfXXOsu+GBqZ9GNU0PIVhs0jDdsSLfjoGX15iGR18dpmrWWhqj3O5UO DL0Q== X-Google-Smtp-Source: AHgI3IZ8yDwTc7PxyKzJo3tl350n3p72QNy9yMJQXMoHx1G4LbQACYtj2tYCy+gNRFU1vjZ6WO77cw== X-Received: by 2002:a25:b287:: with SMTP id k7mr2048404ybj.9.1550254474721; Fri, 15 Feb 2019 10:14:34 -0800 (PST) Received: from localhost ([2620:10d:c091:200::4:33c1]) by smtp.gmail.com with ESMTPSA id m127sm2369379ywf.68.2019.02.15.10.14.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 10:14:34 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 3/6] mm: memcontrol: replace node summing with memcg_page_state() Date: Fri, 15 Feb 2019 13:14:22 -0500 Message-Id: <20190215181425.32624-4-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215181425.32624-1-hannes@cmpxchg.org> References: <20190215181425.32624-1-hannes@cmpxchg.org> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP Instead of adding up the node counters, use memcg_page_state() to get the memcg state directly. This is a bit cheaper and more stream-lined. Signed-off-by: Johannes Weiner --- mm/memcontrol.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index a04177f25758..4d573f4e1759 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -739,10 +739,13 @@ static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg, unsigned int lru_mask) { unsigned long nr = 0; - int nid; + enum lru_list lru; - for_each_node_state(nid, N_MEMORY) - nr += mem_cgroup_node_nr_lru_pages(memcg, nid, lru_mask); + for_each_lru(lru) { + if (!(BIT(lru) & lru_mask)) + continue; + nr += memcg_page_state(memcg, NR_LRU_BASE + lru); + } return nr; } From patchwork Fri Feb 15 18:14:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10815673 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A5E38922 for ; Fri, 15 Feb 2019 18:14:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 95B0F2FDF7 for ; Fri, 15 Feb 2019 18:14:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8A0362FDFD; Fri, 15 Feb 2019 18:14:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0953B2FDF7 for ; Fri, 15 Feb 2019 18:14:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E4F728E0007; Fri, 15 Feb 2019 13:14:37 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id DFF258E0004; Fri, 15 Feb 2019 13:14:37 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC8CF8E0007; Fri, 15 Feb 2019 13:14:37 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yb1-f199.google.com (mail-yb1-f199.google.com [209.85.219.199]) by kanga.kvack.org (Postfix) with ESMTP id A95928E0004 for ; Fri, 15 Feb 2019 13:14:37 -0500 (EST) Received: by mail-yb1-f199.google.com with SMTP id 8so6351060ybu.14 for ; Fri, 15 Feb 2019 10:14:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GjS/0oY9wwLINvtO7eIortkRmYdX1ic59VaG6ceBez0=; b=MBDf5X2lhifbE6sxX1+u3d0EFAURH2dVfqRXzsXsGV2TjPPmfJ6YW+kf580VVSkMy9 lGPLZv0MWdQXrSvh2tUjBmpNr4gjdxShB0NqerFRM0oIX/GEDmXwXQ6RQjO1/0ByeS89 oDx22lB+jjcfSJJyzPl/z6otOnFa6ZKeaTpG7BAOZwAmvsXq/DmnnHJyf8VeZ2D5exXI ahxlNMF0HCLKCQLy6FajwDBwQPeDOYi2d3qCgE5y4zzS1sroYKwwvqPV9Q8gIoR/KVdr rmPEgEx1Aqwwd/1W3DBLS/xZlZI4jBDPqVcj5PLg9CK4oMPArE7SNwh4ai3tiGvs2O8t t9/Q== X-Gm-Message-State: AHQUAuY1kxuzhxNghREgWRHafUU4ZKVaLlJtRAkT/3HO4B1NuBtRkXQg vVVZZSrIJz5eypoU475T9Lf+NvXWcbrfnccW2xKuJipH+dYuL6ZCKqiFk4M2xgoc15bFR3rkNN5 tknpf4KgPwZRy1NHarlV4ishaho2LZU2jgytZpac/liLBh+giFi4KItBsPhMO/hM31npBCbr/Eq Wclq6FbHbaQSfdevXOS5gND/4R9nhO/+JPs+0GdFoPLN237lMl+icjG7rkRFIGB3cd7HM4pnIcw 5DKlMjsswpgnBlSyaV4lSFTiMBqAK9HoUS9tOavepRahVFIj/Y7JSiK9V+UnPqM5oScXRZcynwQ Np4cPkKuVEZDRzN4rjjZLBzHO/hjKsMbJowSGAVFFNW1SOm0QHNn+UjAjhOK9Jwl+FGO7zlnx08 + X-Received: by 2002:a81:594:: with SMTP id 142mr9310716ywf.294.1550254477424; Fri, 15 Feb 2019 10:14:37 -0800 (PST) X-Received: by 2002:a81:594:: with SMTP id 142mr9310658ywf.294.1550254476686; Fri, 15 Feb 2019 10:14:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550254476; cv=none; d=google.com; s=arc-20160816; b=SW7wNzdaSqi72BFAgiyI8SV1tzp9PDE8irNLcb2J0ByHi2u14xbLxEhpiJjDp9I+Ef HQss4pkVV7Zg4WLIJNvKsAK9yqAwODg0ZkgO2e3SI7gDI8+OgjRwjsL5yOhIoqjzRxLu aN8ew9mNx2hff6wDmXTAXxOq2dpglMKnV+VkPXVyrFTI7Pw1xa+8+N8TkzlT6nkY4y1c UcDbpbkxk/qFaYSh11M1nobXoNde9JqR3Q5nKAhoe6H53sHqzMZE4YoqKwnoJhdEETrz eq4r3KuS3bL5qnHMEJrXfsxEaQ4K/r1CFFPj7O1SZ6+1c+mO+FkNgX+YEWMfOUzSQhll TiNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=GjS/0oY9wwLINvtO7eIortkRmYdX1ic59VaG6ceBez0=; b=eUSJMXjtDPpEy4tkhrxS+aiY1EW7Ep/OTYSkvrFxvkfBqDTRJ3zJQqcqRksmkjaPGQ ycp370ANTJVlStN3se4pBBlVnFoyrhMfG5s7LN2kpPhODpiTqYLzBnnvtx7VGxfH4Ka2 HFwZF+NhNskqZMreoV+fg+yhz7zhU+tALnpRnS0XfVQFCR9LChyGmNtNJ3NzpZ2QnF4N bH9Trnq+1eyRN4g27ofXrVdcaaHG0vfpwd1hhF6g3SAidE3e0cMaArDiHRbPhhF9IMRy aXveIghGzN5K/38vZozmaHTcZOhbAGhwMMcWDDeuqFlTs491ABowBMEPfl7qt5ZUSghN wPaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=a5f7aXi3; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id k126sor901778ywd.120.2019.02.15.10.14.36 for (Google Transport Security); Fri, 15 Feb 2019 10:14:36 -0800 (PST) Received-SPF: pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=a5f7aXi3; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GjS/0oY9wwLINvtO7eIortkRmYdX1ic59VaG6ceBez0=; b=a5f7aXi3TT8/yuiVA43lpvDIByTjBfBUd1PDUinv5LHcx+bFHBP4zO587KDnz0R/kN TEoZi1rdgOC3047+bHpcrBiAyVPsAPpTsKs6ewUl4TSe+/djHoSAr49wBwzffHjBEozt TnJYNfBu0e4kntec1YDy2OAqtaeZcg/lE8fbplc082JcDj8VE+pkZDse/RdBl6Ytp4XH iCHkx6yRCbA2d5bNwB9lltewmxn/sWkbXfbHjeca79jqED5sY10/KFYwhdbD6DQsbD5y 09455famEavd9FgM96WVtwZi1U2BMJDMXcLQE+Is5EDN46bvB8wa3n+qaJOXAV/3m0MM 2YCg== X-Google-Smtp-Source: AHgI3IaTs3l6l3o0r57AsapVmdI1i/rDDUCcCVFJ3a4eYlNp4dSi6HTTnSBprSZTOVICUY1w6xMeGw== X-Received: by 2002:a81:1cc1:: with SMTP id c184mr9371591ywc.360.1550254476411; Fri, 15 Feb 2019 10:14:36 -0800 (PST) Received: from localhost ([2620:10d:c091:200::4:33c1]) by smtp.gmail.com with ESMTPSA id n67sm2023613ywn.1.2019.02.15.10.14.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 10:14:35 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 4/6] mm: memcontrol: push down mem_cgroup_node_nr_lru_pages() Date: Fri, 15 Feb 2019 13:14:23 -0500 Message-Id: <20190215181425.32624-5-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215181425.32624-1-hannes@cmpxchg.org> References: <20190215181425.32624-1-hannes@cmpxchg.org> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP mem_cgroup_node_nr_lru_pages() is just a convenience wrapper around lruvec_page_state() that takes bitmasks of lru indexes and aggregates the counts for those. Replace callsites where the bitmask is simple enough with direct lruvec_page_state() calls. This removes the last extern user of mem_cgroup_node_nr_lru_pages(), so make that function private again, too. Signed-off-by: Johannes Weiner --- include/linux/memcontrol.h | 10 ---------- mm/memcontrol.c | 10 +++++++--- mm/workingset.c | 5 +++-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 206090de5d7c..6bf06b9d0260 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -496,9 +496,6 @@ int mem_cgroup_select_victim_node(struct mem_cgroup *memcg); void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru, int zid, int nr_pages); -unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, - int nid, unsigned int lru_mask); - static inline unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) @@ -941,13 +938,6 @@ unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, return 0; } -static inline unsigned long -mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, - int nid, unsigned int lru_mask) -{ - return 0; -} - static inline unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg) { return 0; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 4d573f4e1759..73eb8333bc73 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -718,7 +718,7 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, __this_cpu_add(memcg->stat_cpu->nr_page_events, nr_pages); } -unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, +static unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, int nid, unsigned int lru_mask) { struct lruvec *lruvec = mem_cgroup_lruvec(NODE_DATA(nid), memcg); @@ -1413,11 +1413,15 @@ static bool mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask, static bool test_mem_cgroup_node_reclaimable(struct mem_cgroup *memcg, int nid, bool noswap) { - if (mem_cgroup_node_nr_lru_pages(memcg, nid, LRU_ALL_FILE)) + struct lruvec *lruvec = mem_cgroup_lruvec(NODE_DATA(nid), memcg); + + if (lruvec_page_state(lruvec, NR_INACTIVE_FILE) || + lruvec_page_state(lruvec, NR_ACTIVE_FILE)) return true; if (noswap || !total_swap_pages) return false; - if (mem_cgroup_node_nr_lru_pages(memcg, nid, LRU_ALL_ANON)) + if (lruvec_page_state(lruvec, NR_INACTIVE_ANON) || + lruvec_page_state(lruvec, NR_ACTIVE_ANON)) return true; return false; diff --git a/mm/workingset.c b/mm/workingset.c index dcb994f2acc2..dbc333a21254 100644 --- a/mm/workingset.c +++ b/mm/workingset.c @@ -427,10 +427,11 @@ static unsigned long count_shadow_nodes(struct shrinker *shrinker, #ifdef CONFIG_MEMCG if (sc->memcg) { struct lruvec *lruvec; + int i; - pages = mem_cgroup_node_nr_lru_pages(sc->memcg, sc->nid, - LRU_ALL); lruvec = mem_cgroup_lruvec(NODE_DATA(sc->nid), sc->memcg); + for (pages = 0, i = 0; i < NR_LRU_LISTS; i++) + pages += lruvec_page_state(lruvec, NR_LRU_BASE + i); pages += lruvec_page_state(lruvec, NR_SLAB_RECLAIMABLE); pages += lruvec_page_state(lruvec, NR_SLAB_UNRECLAIMABLE); } else From patchwork Fri Feb 15 18:14:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10815675 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C8888139A for ; Fri, 15 Feb 2019 18:14:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B8D692F66F for ; Fri, 15 Feb 2019 18:14:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AD0742FDF8; Fri, 15 Feb 2019 18:14:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4164D2F66F for ; Fri, 15 Feb 2019 18:14:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E2B98E0008; Fri, 15 Feb 2019 13:14:39 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 994CD8E0004; Fri, 15 Feb 2019 13:14:39 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7995F8E0008; Fri, 15 Feb 2019 13:14:39 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yb1-f199.google.com (mail-yb1-f199.google.com [209.85.219.199]) by kanga.kvack.org (Postfix) with ESMTP id 52ECB8E0004 for ; Fri, 15 Feb 2019 13:14:39 -0500 (EST) Received: by mail-yb1-f199.google.com with SMTP id p198so1666514yba.6 for ; Fri, 15 Feb 2019 10:14:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=VwVlGm18jJ9MvrZQxMUmMoYva3opswVp+UNaldGjONU=; b=OXXo7Ba4j9ReW4nIZur5/IDHR9Hk2y+Lwm1cNSksdZHHFaRYuSrIrTvWrqH6qZ5Igc HacULGNJZD9AkRJXQ++kIbdrnF/TRq6ah2FV4H/bigOAOr08uvdbVGC67UnhEN/JIeAQ BiRkLn5VH8qAfanu4++pQxnIYZ42pxmzzMHbmv9NFh/uSWljlYKvnkdroRcllyjCu2GP tenOhSJOZWux2AMKnSv04gA/t2xk8UUasHObJUJE9bk5pXTk6OGaZCoRJOOE8MSnPB8c Th9eGJwyodOksxOV4vcTSC4v/axRJBgFiFIx/nUgWJUgY6pmlAfJrKClL56PgDdWCvzG DoAQ== X-Gm-Message-State: AHQUAuYkGFWrqf+m+zG5B30Qks8bn4tws1FXT9csYq6oEp6rSLiYE0WU iG5WEjExYvKHsj2AItZnUevnMm+VfexrOMAAg1yWAa1DBe5rtYGGdrarQyT8WiCznqCL3ogEGF0 eT4r0x82zWSsAd/PnqZvoYUHpt1SSy+C6mlrsfNUbT8heDc/p4dHXgNbWSVn/IfyRTcYIH9tksI aRyK9dsOMi1xcDOL3/txddpUvBfHP2H7MCXXFx4fVS5SabL+hzIhxhGc3/XEejXNAmNoY0w/buN gf1SSd9oqyvIwBTY5jg3a3YUx4EbUIoar0jsyJHENiFLhFxIfqwpUjvVfHO0tquqwjPBOKzjA88 GOZqTLn8VV7MawThjNJGmbPkLs5lLISKRqXWpld1EDF/LGEzsayQx/8s4dci4xOr3VwGxCikqGN 1 X-Received: by 2002:a81:180b:: with SMTP id 11mr8652391ywy.431.1550254479083; Fri, 15 Feb 2019 10:14:39 -0800 (PST) X-Received: by 2002:a81:180b:: with SMTP id 11mr8652335ywy.431.1550254478279; Fri, 15 Feb 2019 10:14:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550254478; cv=none; d=google.com; s=arc-20160816; b=pDznUnXCLwVcaXXgrIE/qVYjWzUG7z4nLh5EPjsoNvwN+OAI9f/TWjR79ezZY5pbCF ACxidjYN33LlX1sBwqUzZ4iB+OWgzxyzPOiVi0kdQItCMgnr4ZUmUx8RT3xaHu4/nYqs zj8TEuF+iuguf45odW6DVtZTiXlTC9kD3ga6k8zxhgfPLVXqcmiYGpqLOUXlE4RsNpBz Y+ieu9imtcyt6UzzN938Gmm+dX0LIE9A6YxMOaci15D5YRBLkI7b7hk1yvIoi6Jf9gXh fbaUVlrmfdrrfngh7YZUn3BIbFimvGyaOr95bZuqaWbc629ysQY/cPA6kpzbCiHN0Aln HbzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=VwVlGm18jJ9MvrZQxMUmMoYva3opswVp+UNaldGjONU=; b=FB5X093In0hpgzBd3lc5zYj9hwacvt7h58Txd/4w6jN235iz6sKTk8UifhPMQrao1k OP20mXAETPYvPTltY1H4pMC27s1mmqRn0qLkijoCq3uCM/5qzwJ1QHPq2ds2Q0l3fR6V QAcolW2nGUHiv3kOjj+c8eekr6zP3voZvm8+8g9nIpSb9joEJ1ji70akmViq1xV0GzaL 3Wa7JUBI8DxYBj5dAVdZDxVeaZHuyThdG1k8TjSoSwCJ498yQp3dQSFoRfFOmq3aWTGI G1L4J8usxRrmanxdi+CqbLo8sdbiI/hio2NqHTjhPL9jL0HvLFCDyhsIIVaYvGjmzKtv v5ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b="0GgY+/ly"; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id j128sor1069733ywa.15.2019.02.15.10.14.38 for (Google Transport Security); Fri, 15 Feb 2019 10:14:38 -0800 (PST) Received-SPF: pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b="0GgY+/ly"; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VwVlGm18jJ9MvrZQxMUmMoYva3opswVp+UNaldGjONU=; b=0GgY+/lyZgElU35qV0NY61NN6hK+ek8EPJ3kLmflCoskr0PqbHkKUWeEIn+moimd23 iO5cQdlDPZuB/VYeXSIVCt4gZASOIW2xhSpKnyI10nZeQEq69hwlkfUY3Nf1uyGA7koP 8QCFrkw2XDm8Fw7urfaRmBiZbXWz5YtHI60ox1sBg95RjpK6bqKhDo01fCyu+ABeMqP4 2V8yrChKQwZp0dR+oMK9As8ZBefzQf+A/1BskTWmeqoNINjJpUf1KRCbTrcR7Zsol8MV Oc6NjARafUnZxtzcX0pP8N4iTNychzLH518/RqvPLqpxeu+JY57k2WvlznoitRvG8mwm M1Rw== X-Google-Smtp-Source: AHgI3IYcRe3wIW9kBX8bDCesOGs4eqG5QEdDUrT6bTq55lNHWHcECKieUpmkkWiYe9mLdhGBtSpYsQ== X-Received: by 2002:a81:8147:: with SMTP id r68mr8592233ywf.89.1550254478063; Fri, 15 Feb 2019 10:14:38 -0800 (PST) Received: from localhost ([2620:10d:c091:200::4:33c1]) by smtp.gmail.com with ESMTPSA id 77sm2282676ywr.19.2019.02.15.10.14.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 10:14:37 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 5/6] mm: memcontrol: push down mem_cgroup_nr_lru_pages() Date: Fri, 15 Feb 2019 13:14:24 -0500 Message-Id: <20190215181425.32624-6-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215181425.32624-1-hannes@cmpxchg.org> References: <20190215181425.32624-1-hannes@cmpxchg.org> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP mem_cgroup_nr_lru_pages() is just a convenience wrapper around memcg_page_state() that takes bitmasks of lru indexes and aggregates the counts for those. Replace callsites where the bitmask is simple enough with direct memcg_page_state() call(s). Signed-off-by: Johannes Weiner --- mm/memcontrol.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 73eb8333bc73..6d0c3374669f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1354,7 +1354,7 @@ void mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg) for (i = 0; i < NR_LRU_LISTS; i++) pr_cont(" %s:%luKB", mem_cgroup_lru_names[i], - K(mem_cgroup_nr_lru_pages(iter, BIT(i)))); + K(memcg_page_state(iter, NR_LRU_BASE + i))); pr_cont("\n"); } @@ -2987,8 +2987,8 @@ static void accumulate_memcg_tree(struct mem_cgroup *memcg, acc->events_array ? acc->events_array[i] : i); for (i = 0; i < NR_LRU_LISTS; i++) - acc->lru_pages[i] += - mem_cgroup_nr_lru_pages(mi, BIT(i)); + acc->lru_pages[i] += memcg_page_state(mi, + NR_LRU_BASE + i); } } @@ -3418,7 +3418,8 @@ static int memcg_stat_show(struct seq_file *m, void *v) for (i = 0; i < NR_LRU_LISTS; i++) seq_printf(m, "%s %lu\n", mem_cgroup_lru_names[i], - mem_cgroup_nr_lru_pages(memcg, BIT(i)) * PAGE_SIZE); + memcg_page_state(memcg, NR_LRU_BASE + i) * + PAGE_SIZE); /* Hierarchical information */ memory = memsw = PAGE_COUNTER_MAX; @@ -3909,8 +3910,8 @@ void mem_cgroup_wb_stats(struct bdi_writeback *wb, unsigned long *pfilepages, /* this should eventually include NR_UNSTABLE_NFS */ *pwriteback = memcg_page_state(memcg, NR_WRITEBACK); - *pfilepages = mem_cgroup_nr_lru_pages(memcg, (1 << LRU_INACTIVE_FILE) | - (1 << LRU_ACTIVE_FILE)); + *pfilepages = memcg_page_state(memcg, NR_INACTIVE_FILE) + + memcg_page_state(memcg, NR_ACTIVE_FILE); *pheadroom = PAGE_COUNTER_MAX; while ((parent = parent_mem_cgroup(memcg))) { From patchwork Fri Feb 15 18:14:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10815677 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EFBCD139A for ; Fri, 15 Feb 2019 18:14:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E06122F66F for ; Fri, 15 Feb 2019 18:14:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D46302FDF8; Fri, 15 Feb 2019 18:14:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 57C452F66F for ; Fri, 15 Feb 2019 18:14:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2466B8E0009; Fri, 15 Feb 2019 13:14:41 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 1CB738E0004; Fri, 15 Feb 2019 13:14:41 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B8D18E0009; Fri, 15 Feb 2019 13:14:41 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f70.google.com (mail-yw1-f70.google.com [209.85.161.70]) by kanga.kvack.org (Postfix) with ESMTP id D539C8E0004 for ; Fri, 15 Feb 2019 13:14:40 -0500 (EST) Received: by mail-yw1-f70.google.com with SMTP id t17so6403333ywc.23 for ; Fri, 15 Feb 2019 10:14:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=5xWYBy7FokRZPZ5ORH4t2tIovmpTYMvN2BW/u6oRAco=; b=ItsnI9nRI02Q9izBM2W05xcROq8MOnOdJRBSWFpLy5Z9uT3MHUXannCp7k+GxiJlz6 fVL2C2tw9SdmQWh8zUcz/YbtG/fPFHf5F/+UFjNsLLAktsfxMKd8wMx5gu1yPv/0wkUz WNrTF3uYcZMPLS8mYwC0J6NKfN5jxX0ycnxeTEWdV9iMuaUOAiF3nsS8TbcV9F1R4Qsf hCl5yNtGWdlXVp+WLot/QMtoqOsGVS4USwcfjnqiZdeCLIruCivxZbSsuMkY/+Zc4INm F6wRtOIPnNzE61J+ca67gYd8TN9U32vS3myjjVEZPrBLmFA4iQzwuY8itT1bf6nGtvTT Bv4Q== X-Gm-Message-State: AHQUAub6zNzVb3w5CzJ4T11M+n+OmGLdprjnaHojZDFQv8yb1O6EDV0M r6kydApKrhuGzs/oMlMlpC4oOwnNfbc9ihbK+Y9KOyNgJYHuXp+ElgRhC5T4AyP1U/dDG88xr1s cOXCApATjyFdlZOZoobxDrljqy4cDzBTFMFtsRvzVvD4fR+Jm0mypZW2g/5BsR33jvvwWXNtGzx Jdy23G0hrQr571NtqvNlNTQ3af5pgKUZjOLkLb34w/Rih1yQWHE7nzWCkM5kez/roSOIXPBUHxk CQ9XOJtOfk+ky+BuQJMm6uIuZlGf62HAIV1UDf5M8Cz1B5XAOMpVC2IDU0eJlAotBFvO2sVR4xn o4XRLqiDdxSyDLEcXfNbDQEcgf1I2WnHix+Np8JwV71/uGdsuprCD19al4S5Mt2sL11NBj+zkM8 m X-Received: by 2002:a81:1491:: with SMTP id 139mr9212091ywu.476.1550254480605; Fri, 15 Feb 2019 10:14:40 -0800 (PST) X-Received: by 2002:a81:1491:: with SMTP id 139mr9212036ywu.476.1550254479873; Fri, 15 Feb 2019 10:14:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550254479; cv=none; d=google.com; s=arc-20160816; b=TmKtZDm/TViJKFWyLIXtl058WQ4a4K5HvZikz6ardPdWDPzHWdXfA5XYI+kkmuFPU5 MceIO1YZJFT+G7JgsTktvDdzI0UqJ3Kid+ASj5cjol5sg2lw71+FMKJFsas39d8ugnHT wWr3RPMqiuovVBgV5vUm4czDQOO6QJ9ITeVqN/GYlZsjHUVqIjzJSpObKYnqd0atVgWD QHwARIUDJieeb8GxCWdPdeKzLBkRcyBLAl5hJB6Vj3cNX1tbOJBIMNyv5IWQ+gEYTT+j Zbc+43aChepES+qxeNBVo2Ssbl6Ep+dV2LUXnV86Q+H6eTBwTmHy5zHVPMdCEvxhc05v vlCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=5xWYBy7FokRZPZ5ORH4t2tIovmpTYMvN2BW/u6oRAco=; b=L8OoxyxAZu0ZS5qwomufcbth1siAPp0VN2DcS71Ps78YXgdntvmSmXMCQsDcvtMz50 BzSeoAKa3BdiqNoLiCW073ngfzmFGjpBNNHWnuNtJSqMVt85tWkkwn+8OjqAHff/LQWA P5Y+tKkwL/Okw+tI7tcJfESHCw37Rb9JveOFD32ZH7V1OSX0BjNa8hXWLXzux2Kr7/Ro HOVohX0YmEVVxCVUkIoP/GQ2AGUZsK3ddR3M4wuQhR9SOrtsoBu3WgiOLNhdUYf2XY2S fS8LPP8iV7+E/amXI+GLvSgu6uZ9X0sl3GWKKNXVjnC0GYYgPyXgWdW6qUsBajyCVL17 0o6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=b1VUPdwi; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id z83sor976918ywb.24.2019.02.15.10.14.39 for (Google Transport Security); Fri, 15 Feb 2019 10:14:39 -0800 (PST) Received-SPF: pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=b1VUPdwi; spf=pass (google.com: domain of hannes@cmpxchg.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5xWYBy7FokRZPZ5ORH4t2tIovmpTYMvN2BW/u6oRAco=; b=b1VUPdwiUPbev9Zpm14NFF7dG9RjRJ3CzCdRRh5szC6PsrCzTDT8Xq0B2F1nEGlhxg qLhGQzYmivMBrSqb1WHcfnJaVtqKBqsYcBHRV4yQm+PMcovxgqEyKvjTF3SBy9eqKQbd Lm96Dn86Q1ft5hiblalQn3NM7tmzMYt1R3rWpT0M8h+pBwAqTSYMf91gdqc8HhOAu2QG +9shVyCnT2FUiU6uA36Dr3ebjESZRYa3f92YsgtnnKh4zE35w+MtNwG65NANGZLesYqd O0A1bV3uYF8ost+QXKnAa+CYQvmbBuk36tzQdSADml/ekVJPwD4FM3LK4Npp7pBx/UEc UsmA== X-Google-Smtp-Source: AHgI3IalZFEfXkNtqFL/VZxIILPlv28xJ58YSrr+lhW3IaKqKL+TVYkZ/rvDyirah3zdTh0tQ48cFg== X-Received: by 2002:a81:7a50:: with SMTP id v77mr8974055ywc.223.1550254479646; Fri, 15 Feb 2019 10:14:39 -0800 (PST) Received: from localhost ([2620:10d:c091:200::4:33c1]) by smtp.gmail.com with ESMTPSA id j22sm1915745ywj.37.2019.02.15.10.14.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 10:14:39 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 6/6] mm: memcontrol: quarantine the mem_cgroup_[node_]nr_lru_pages() API Date: Fri, 15 Feb 2019 13:14:25 -0500 Message-Id: <20190215181425.32624-7-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215181425.32624-1-hannes@cmpxchg.org> References: <20190215181425.32624-1-hannes@cmpxchg.org> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP Only memcg_numa_stat_show() uses those wrappers and the lru bitmasks, group them together. Signed-off-by: Johannes Weiner --- include/linux/mmzone.h | 5 ---- mm/memcontrol.c | 67 +++++++++++++++++++++++------------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 842f9189537b..a93921ba7bd6 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -247,11 +247,6 @@ struct lruvec { #endif }; -/* Mask used at gathering information at once (see memcontrol.c) */ -#define LRU_ALL_FILE (BIT(LRU_INACTIVE_FILE) | BIT(LRU_ACTIVE_FILE)) -#define LRU_ALL_ANON (BIT(LRU_INACTIVE_ANON) | BIT(LRU_ACTIVE_ANON)) -#define LRU_ALL ((1 << NR_LRU_LISTS) - 1) - /* Isolate unmapped file */ #define ISOLATE_UNMAPPED ((__force isolate_mode_t)0x2) /* Isolate for asynchronous migration */ diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 6d0c3374669f..20fb3de8bde4 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -718,37 +718,6 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, __this_cpu_add(memcg->stat_cpu->nr_page_events, nr_pages); } -static unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, - int nid, unsigned int lru_mask) -{ - struct lruvec *lruvec = mem_cgroup_lruvec(NODE_DATA(nid), memcg); - unsigned long nr = 0; - enum lru_list lru; - - VM_BUG_ON((unsigned)nid >= nr_node_ids); - - for_each_lru(lru) { - if (!(BIT(lru) & lru_mask)) - continue; - nr += lruvec_page_state(lruvec, NR_LRU_BASE + lru); - } - return nr; -} - -static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg, - unsigned int lru_mask) -{ - unsigned long nr = 0; - enum lru_list lru; - - for_each_lru(lru) { - if (!(BIT(lru) & lru_mask)) - continue; - nr += memcg_page_state(memcg, NR_LRU_BASE + lru); - } - return nr; -} - static bool mem_cgroup_event_ratelimit(struct mem_cgroup *memcg, enum mem_cgroup_events_target target) { @@ -3328,6 +3297,42 @@ static int mem_cgroup_move_charge_write(struct cgroup_subsys_state *css, #endif #ifdef CONFIG_NUMA + +#define LRU_ALL_FILE (BIT(LRU_INACTIVE_FILE) | BIT(LRU_ACTIVE_FILE)) +#define LRU_ALL_ANON (BIT(LRU_INACTIVE_ANON) | BIT(LRU_ACTIVE_ANON)) +#define LRU_ALL ((1 << NR_LRU_LISTS) - 1) + +static unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, + int nid, unsigned int lru_mask) +{ + struct lruvec *lruvec = mem_cgroup_lruvec(NODE_DATA(nid), memcg); + unsigned long nr = 0; + enum lru_list lru; + + VM_BUG_ON((unsigned)nid >= nr_node_ids); + + for_each_lru(lru) { + if (!(BIT(lru) & lru_mask)) + continue; + nr += lruvec_page_state(lruvec, NR_LRU_BASE + lru); + } + return nr; +} + +static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg, + unsigned int lru_mask) +{ + unsigned long nr = 0; + enum lru_list lru; + + for_each_lru(lru) { + if (!(BIT(lru) & lru_mask)) + continue; + nr += memcg_page_state(memcg, NR_LRU_BASE + lru); + } + return nr; +} + static int memcg_numa_stat_show(struct seq_file *m, void *v) { struct numa_stat {