From patchwork Thu Feb 28 16:30:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10833429 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 1CDDC17E9 for ; Thu, 28 Feb 2019 16:30:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0B4152E4BF for ; Thu, 28 Feb 2019 16:30:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0974E2EF9E; Thu, 28 Feb 2019 16:30:50 +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 61ED12E4BF for ; Thu, 28 Feb 2019 16:30:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6F4A8E0004; Thu, 28 Feb 2019 11:30:43 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id C19148E0001; Thu, 28 Feb 2019 11:30:43 -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 AE1348E0004; Thu, 28 Feb 2019 11:30:43 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f71.google.com (mail-yw1-f71.google.com [209.85.161.71]) by kanga.kvack.org (Postfix) with ESMTP id 7CB118E0001 for ; Thu, 28 Feb 2019 11:30:43 -0500 (EST) Received: by mail-yw1-f71.google.com with SMTP id r8so17957089ywh.10 for ; Thu, 28 Feb 2019 08:30:43 -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=n2kszXwCnFM+aRWR5wlv7UWDw610mJ75OBq3Y8ADT5B/LhhsfjBjiC33h8hcl1Ji+s 5HulykOIJVmlWyMIVNLhkQNOCzpyW8ofwKdcXICgPPQ6xlVPng0waUoVOvL1vZcKAGtn z5gyCBJXX9VPFrTTWDUfPRtGlgeXHz/hIHrHqayziroyVW1usD5S3WdKh+CyL2HAL0v8 5JcI0AHHRfoR83zzbp49Z44B+2MOYvJphIJcZD8Ur9CLw19mVhgjbd4A0f8i3py/C36e Qdr+LIHzudBTW2ZykcfacRtvpHiR7dh5hzA0Y3vOrRoH1T5bCKIvpcOVYy7Lee02k4Ed Z2xA== X-Gm-Message-State: APjAAAUobbvowpLWlHQIvNgz7MXaxaBkHtrDGOMdwpivy8CQAAHMfohG 8V3aGuMItPxSxfHCn6Dj42VDENcGdPisucggtrgnLfnkltuCe1D2qI9pN3k0IckSvKIAvS/x4xg NB8nMMr9zNVj92OALDY4gEEMI3ujWVyRzmEAPrpoUCr4IDS5owUpdfSHTUIt2+eiFvNqqg5XFL+ 9Sij+AuLQZrhm9EP2sVvT/xWA1RSz3PcEZHakHvKQgsqb2nt/RyIiZAe7zNAoGY+qWW9zqnEIxr sdlotUJRcLyj/mGU/BZA0N0azT7tnLDpN7+sfrIH1aHCqCjtuV6MS9MIL4lPnhub1reeQQWUlEj ZMwPGIfxbCJoKJ7Q+yNKGvt3CDK13o81T6OJny9sQWoSV5r5hrRKXOXQNT4zNMUrAeOkqKEtKK1 S X-Received: by 2002:a5b:10c:: with SMTP id 12mr187423ybx.323.1551371443256; Thu, 28 Feb 2019 08:30:43 -0800 (PST) X-Received: by 2002:a5b:10c:: with SMTP id 12mr187320ybx.323.1551371441966; Thu, 28 Feb 2019 08:30:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551371441; cv=none; d=google.com; s=arc-20160816; b=bGuYHK/ZXY708Rc9+9pNWBYNxcA6JZ18aTfPbGwcQJ6OCEoSNJcQzptTS+p1NA5HMi pQjljoQ2nrMlnV9w64gjvLeW0wvvxKO/HgC1KFCSmHphRTk1ued7hgKDCME0CIEeaxUl EiS9n1WfMWkDXlCj2W2DbgF81tK5b8lznK0uMTWhBELGd2hcCCLnuZiQl3vORVred8HW 5poVHQEXEf5koWnmvjzOePvrmxQ6VWbT03tNx6JEzMxl1pIbmdS/Q72brephTsrWiiQH K9JgFaMjFP+cIlwH7hEx5xNlzyAuL0OXnkudCJu7gQrmRyKq+8RRX9Kyc0hCNQaLC0Bz w0mg== 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=lH4uAWY9+ov/T1bq3esR7MHxWKu/8fmX9N3NOcbiGybS7olCknvYYA5LHhnaYfks0g 68almH4nzhxt7K2Cc9uoFHPYdaZAH/cOSChqPYAzQ2LVI6USSjugyFvMQKdw/eoT+C7b c3oc82WBM2R0RpeHYw1gzoq7nmFeEFoXBQpjBcrVBNxolUyuYa+wz1no+nf6H39XMuuf ccn0Wuws14ME2mkr7fHTSoRuFEsxfn+5f8kCcMK7rsrD4TmzPMbgusZxvRihfZe37GCW 2QwaMZZdQ+dMK6s5fT00kjrr3n2DZa+M9dVXsG7+QM5HHSg1zcbAf2r6Gbpu+rV5yYW5 pkbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=mUmeIE5t; 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 e124sor2295791ybe.175.2019.02.28.08.30.41 for (Google Transport Security); Thu, 28 Feb 2019 08:30:41 -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=mUmeIE5t; 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=mUmeIE5tnpsUGSnPqHmhaPEa7lf70tbLRHRnTncX97PvuH/o83yraWIA5zNr2rhiIp mpkAWKlqywdH7kW6UpgZyAHXZCyBpYNS+SG54JVKSe2fLL5wNcgjH9Q97zxt1D5RpII1 WeWjuyR4YDKC3jKLczUULysqQOcc+yP8bzEynWwg3HCg5WHMxRZlTti0KtykiQuvv3kq YROup6kl8Iuyzca2iPVlj3322bMupx6H73LQkPOdGiwtgd6ZjWn0XHKo9doJy1JuxVuG Mo2SA/F1rgT6zxF9PDEGAuC8LLHWA/fy6BG5ikjx7h55H5U7V9xL4eH3UKlRj6MnSuI2 /XsA== X-Google-Smtp-Source: APXvYqxewDo9FoX7nVCKQojbWSDBBLdU+jLrQJ05GmxyJbsxGjn1zJNbtkW8/KWmBzXl7+uvezlSOw== X-Received: by 2002:a25:c0cc:: with SMTP id c195mr229095ybf.166.1551371441698; Thu, 28 Feb 2019 08:30:41 -0800 (PST) Received: from localhost ([2620:10d:c091:200::3:da64]) by smtp.gmail.com with ESMTPSA id l202sm4189121ywb.72.2019.02.28.08.30.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Feb 2019 08:30:40 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , Roman Gushchin , 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: Thu, 28 Feb 2019 11:30:15 -0500 Message-Id: <20190228163020.24100-2-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190228163020.24100-1-hannes@cmpxchg.org> References: <20190228163020.24100-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 Thu Feb 28 16:30:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10833431 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 C991F17EF for ; Thu, 28 Feb 2019 16:30:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B7F9D2F1B2 for ; Thu, 28 Feb 2019 16:30:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B61912E0F3; Thu, 28 Feb 2019 16:30: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 2A7E72F1B2 for ; Thu, 28 Feb 2019 16:30:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 452BC8E0005; Thu, 28 Feb 2019 11:30:45 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 404678E0001; Thu, 28 Feb 2019 11:30:45 -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 2A9228E0005; Thu, 28 Feb 2019 11:30:45 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f72.google.com (mail-yw1-f72.google.com [209.85.161.72]) by kanga.kvack.org (Postfix) with ESMTP id E51848E0001 for ; Thu, 28 Feb 2019 11:30:44 -0500 (EST) Received: by mail-yw1-f72.google.com with SMTP id j64so17725167ywg.22 for ; Thu, 28 Feb 2019 08:30:44 -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=NxReYuZN9DV/fcdnYYWinsazWkVL2jKBNqgEJlRIVkI=; b=CgqokhozVEYYvN6ueegUBVUp29pkahAiGCcM2/wYoZRY/VgeaiQHM+68dAXQA/OqQO Qtr+dnifPVXDBVJn79Uq/cBlRkaCVdqJe4fcSRE6EqxGCOTwpf7GQgwdLcsHbw/uMexP xDItZ0sgO4INbUcRRo3qM8y0CH3hyz1Co14zUSlvaOsUAo2v+rtJ8kUAh94fYEkBmzBJ wbwa+Nr5U1R+i7chvYGGiH/ANHTcikPFoh+SMRlzk4aiDp2BlC3UwgqZVS+HrKYhVEXA FjxoJj1i3TZrUWUbD1KL9oIzVt8xrGa6/3E3cTlDCO9KElK3ZltWifE+1yz6NlyS9VH2 WhvA== X-Gm-Message-State: AHQUAuYR7le4z2LHip2TDXZcUXPvlNz5ASiCy/NAZFXWGskIB0XbeCnN IJlIJXgV/wvFuB3melXJZi6f92vANfJm74jRIUjfXizneO5QI8x+r4iPlPI7qvms16DyXw5QjGe SPZxKRnU+WO5d6s/R/rDWbdDT4Zs1KeiXsamRvMFbJ967oLTlT0F3BDINzajFi/XWt8Mv+e9HNr sJXMm5n9witpgbMIa4MwDHw60AwUfGsvi8oxNzbnujH+WL7uGb58eRMCRzFFzj/szkKw21qae26 Atzj9NUou8xRdzm10SJ0wC9lVuRUpngdR5KIfXN/NGj0NHYu2f+36i8GxingDOIsfQYHmRdaDyk aILqHcbvOCP0+O42NtFv9Ew/2sgKrY8ddHVya8EV7QW8qMfxA3VNFApp+lJDLFJkzux5uGNlCK4 W X-Received: by 2002:a81:1d58:: with SMTP id d85mr6330736ywd.286.1551371444671; Thu, 28 Feb 2019 08:30:44 -0800 (PST) X-Received: by 2002:a81:1d58:: with SMTP id d85mr6330673ywd.286.1551371443810; Thu, 28 Feb 2019 08:30:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551371443; cv=none; d=google.com; s=arc-20160816; b=lq48wcynB0VYnwsJD9Uyv0Rgz5F7kyo3byom+x6QRCSg8hE+GxKp1ezIB/pbuYs+lT cp4AZhKkY/WQCdY6X5eEUsKhw51giXxZMB6tAXSn6gtz9uOmi9rosxkgALnrDafIb2kw +frRdUiwnlhO9ubax76cqvkDzJOf8BywZ5yBJeodkAuXYu8hHYf49U8R238LxmuNqoQL V6wb0SYHEEay4Bep5lW9sSOdpcbW4HzAKpQndBh4K6Y2l+8fVvOBQaYp6/jkkl6TorDx Z9apQgUjlhsGMJiKXHWEGHxt4w55bKr6KFEDVK3LTwhiEqcUy0fRWWpHZyEzpWskRI8n iy3g== 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=NxReYuZN9DV/fcdnYYWinsazWkVL2jKBNqgEJlRIVkI=; b=nT+54mw6GUkeu5vLuPJPu7mqK959lkxwBpLaePZ4Fh9cDmDft9aK+gb2YMtUCGTcBo ONWTPGY0CfQvIMmB2WRscd+Y1ecyZRDOd8bb/i37Vktg3QwRGHRs35T93r7Z/7lOSrqQ oPQ3ANHTd24CHSpSHH01h+YPEh/7MdYRrrovi9byob6aJ9lO/rI832zPAWcchcyCodSO /pTsqBPnTPB6IXy+2VgLa1YcO9lD4qrbhs2LCVvYtfr3XatC67VQHNbAoVkKfxGIzmRA xE3Mo/7VCyBbOEXmEtXWAT7K9C+REEIYGPlJCP6Gi/5zlNefKN/tCQQkZLNi7Z92Cyif eiAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=ZAGBYz8G; 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 i17sor2259343ybg.193.2019.02.28.08.30.43 for (Google Transport Security); Thu, 28 Feb 2019 08:30:43 -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=ZAGBYz8G; 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=NxReYuZN9DV/fcdnYYWinsazWkVL2jKBNqgEJlRIVkI=; b=ZAGBYz8GP7xIIzJFVPTadJPGGMIowtbAf7+EPG3yvgRIeRyXKmFnQnaswl/xN6iA1h Stype2OdeKY7ecFjCOIUKdyiqmYipTgueLOOP9OfEcLkTklZQs71jTxnDHOs/Afca+Ff dh99RRH2hehKyyfIpmHBwk1bsz20KaPjXYYkmNhguy18yadeh7dnamP67D/VmkLw2nUb ktqdqI4pYdDPvQjETyKp9zSCQqE+VSyjVVX6OecZlKOlxHzVlzveix/BhPrzCNSZJyS+ CdTvtK4NOJvO4/kPQ5/PxHPZu0t7yQiJLF5gQi2Q3xs2G+vSxFcKWfWRHeCrCn8bRNfR 8bZA== X-Google-Smtp-Source: APXvYqyeHHEs3NCGgQH9pHOJZbtgFB/JeWqSzcj6DKjRixvKM6LESsPz5wgeJvfex5scPRevDjuqDg== X-Received: by 2002:a5b:348:: with SMTP id q8mr166652ybp.479.1551371443602; Thu, 28 Feb 2019 08:30:43 -0800 (PST) Received: from localhost ([2620:10d:c091:200::3:da64]) by smtp.gmail.com with ESMTPSA id r77sm6517577ywg.10.2019.02.28.08.30.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Feb 2019 08:30:42 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , Roman Gushchin , 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: Thu, 28 Feb 2019 11:30:16 -0500 Message-Id: <20190228163020.24100-3-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190228163020.24100-1-hannes@cmpxchg.org> References: <20190228163020.24100-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 534267947664..5050d281f67d 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -517,19 +517,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) @@ -985,11 +972,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 5fc2e1a7d4d2..d85a41cfee60 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -737,7 +737,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 ac4806f0f332..cdf8d92e6b89 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 Thu Feb 28 16:30:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10833433 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 53A3A17EF for ; Thu, 28 Feb 2019 16:30:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 437902F3B9 for ; Thu, 28 Feb 2019 16:30:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 41ACF2F3C2; Thu, 28 Feb 2019 16:30:56 +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 C50B12F3C4 for ; Thu, 28 Feb 2019 16:30:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 195678E0006; Thu, 28 Feb 2019 11:30:49 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 16E978E0007; Thu, 28 Feb 2019 11:30:49 -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 034018E0006; Thu, 28 Feb 2019 11:30:48 -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 BB3D78E0001 for ; Thu, 28 Feb 2019 11:30:48 -0500 (EST) Received: by mail-yw1-f69.google.com with SMTP id r67so18005300ywd.4 for ; Thu, 28 Feb 2019 08:30:48 -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=q68vDKJoy4wkBVCCNbeXOOo5XkzY9NuLFWEJjvpu9MI=; b=seLSNgcvsRMePtZ/SCTYQCqWPuelcN8QoiJUwSDLfC6Z8RUxM7hrY+eweBj2SLeCL6 TB+rO3Eq1JImBMAtVoLFTXAavRSZYAASHvIel/nBAYgjtqHS6co4O2Qp6/z7RE93NNkv 2F51XYS2ZfZbxWUw+W5Azf5POjn5hjRm2PVkg2sth5st/BZ8eW1krLrc9lyXqn1xmuVN 8Nl9JseD9nOe/DHbYaVoGSTDeFXsl533a0kSqkSnbGAH8UtnjxtN+3GhdzdizulkckEd NsZhio8C0fEIduQFjK3RpZyU04w1BGqf0VTTVFZxeAXEGtq8g4BMEo2cL0xg80RGKarK Ac9A== X-Gm-Message-State: APjAAAV4GhQMPaV9tJ0bLqhvYh6CWLlksdDJwu0Sm1XuOcFUvLXL+UTt oyeBmUMbdXWq7JTAWVD8spWw82I82S0DPiGJgA1iG8bGoDrEVK15VY+2TTMFp5dVJ2b8sl2CG3N 3YbpfwuAiABhjW/1v+NWlqpELYM2C5D6dqBrPS5wOY8/qIxdvxMrjo7OuVXSfWR9YwDJxqQg8Ut tiqOpThS6PJfFbzL+2zCqWnxHnvwPMQ73fhQ+feL9ZApmM69eGR3ZQM6EHrcAFrLXQpUwHXfaPU ZQ2RW3bMvSmUFcfC1zFCFB5gj4WrC/eY69kl7fYqtABVO3HPn2HaRmrR9w/xY+kGDe220/NtSBn 8lH1TP0dlJq4iQoQeo7NK7irWh0oPejqhcTasUt9z9VaLIizkSI/WTAt0PMiYclYfRUKOgoShYd 0 X-Received: by 2002:a25:42d8:: with SMTP id p207mr183082yba.279.1551371448517; Thu, 28 Feb 2019 08:30:48 -0800 (PST) X-Received: by 2002:a25:42d8:: with SMTP id p207mr183018yba.279.1551371447662; Thu, 28 Feb 2019 08:30:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551371447; cv=none; d=google.com; s=arc-20160816; b=zYtjJYdmbzAyEY93QtMHI2XL7YdfPxUUZReUhAKo90xGGYsomyZ0d09ckjCg6KVFmr ZxiK9+vFJcsAj/W99Q4Q3SfxXGUEsw/Q3G9RvIr+jk5sVH1VQvekfJTgssYl/rFJ1vg/ tXR9wWu/sdbU+lXPInguxq9/n5ODRDdOfVwoZDMnxcd8d0oRIs0D0c82MP5fq1zUu/p0 pZs8F/pt4hx7QPb1uFce2vB1Z7sGmTlADJ1FWFucuOKg4E6cvbTsnfY2JTQeHkY4hp46 XycLZScrnWmF8/b1rrPN7TPdxih4xDHL8y2+Eenuqe4bD6RIBvuL3wXqO0C3FA9V2A2E +qNA== 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=q68vDKJoy4wkBVCCNbeXOOo5XkzY9NuLFWEJjvpu9MI=; b=cgj/l0aa4vq1i4P4mpThDkVfuoOLmzVCyApncutz92GK84MPcB0k+YlW1jQPiZSk/2 OfqfLhTGMvvVudLaHJPs6hQ/94m8L9/ljD5LirdzuGH5pGl596Tzt0XNK/ygSGAmgULU dbaitFZ3xo23mn/mNpO6TiVSpl+U3vVzamYgFnB6qJDXfHbbnYPrBdb/JuYN1yKumzhT +wvD+/cQAWMi6VtjR0ojzTF8Tp0fN1Cdw8Q9zlsy+jHwlyl/XExrG9zU2f3V3KIVHW+f EQ2XvROVz6V6hUBKQ3+hNDFnrCD3hrkQTekiw8xjyEfjx7iUZ6728i4O7SNVhnbBNqqd /y4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=0WT5rtTI; 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 g18sor3671011ywe.145.2019.02.28.08.30.45 for (Google Transport Security); Thu, 28 Feb 2019 08:30:45 -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=0WT5rtTI; 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=q68vDKJoy4wkBVCCNbeXOOo5XkzY9NuLFWEJjvpu9MI=; b=0WT5rtTI1WKxMYjRHLUdNtdc8IsHgN6ifmKk4VfIC2ys+4BaRMElBPNWBkf1sY9V2U DBgNNGgwSI8YyW0YqocogXheOlD1uDjEimiRXYZJFO7GLlIfOGc7HZOuSUQbFN0Wgl1d eJLi29oGq6b4efRD83YQPz5IeBD+wxIvU7zwz00xHyxcAQHlzkPJtLGBmEugCfx+CAo/ t9J/UmkKoI48HsTy46tNW8AazNXmo6bE09T4Z3Do/iURkSM9AcI7iW/B04LO2pfr8aNp KuY3Qr8xk08bXRBFWC7Pt7v78/5OFVDijamJDggw/hKAruJeHvrhKmbmi12rUfPQd8zW 1FFg== X-Google-Smtp-Source: AHgI3IZ6bGtIf2tq3DoaxA0LIWJUB3eGOgT9AKeaRU8ncx3MetLp/EgLeJPv1RfxuCwzXTOtLICJWw== X-Received: by 2002:a81:3d48:: with SMTP id k69mr6149601ywa.313.1551371445217; Thu, 28 Feb 2019 08:30:45 -0800 (PST) Received: from localhost ([2620:10d:c091:200::3:da64]) by smtp.gmail.com with ESMTPSA id 142sm5053954ywl.31.2019.02.28.08.30.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Feb 2019 08:30:44 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , Roman Gushchin , 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: Thu, 28 Feb 2019 11:30:17 -0500 Message-Id: <20190228163020.24100-4-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190228163020.24100-1-hannes@cmpxchg.org> References: <20190228163020.24100-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 d85a41cfee60..e702b67cde41 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -746,10 +746,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 Thu Feb 28 16:30:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10833435 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 40E7117EF for ; Thu, 28 Feb 2019 16:31:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2D5482F1B2 for ; Thu, 28 Feb 2019 16:31:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2B10C2F3E2; Thu, 28 Feb 2019 16:31:00 +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 8E6722F1B2 for ; Thu, 28 Feb 2019 16:30:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 627A28E0007; Thu, 28 Feb 2019 11:30:49 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 5D9B98E0001; Thu, 28 Feb 2019 11:30:49 -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 4A2038E0007; Thu, 28 Feb 2019 11:30:49 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f72.google.com (mail-yw1-f72.google.com [209.85.161.72]) by kanga.kvack.org (Postfix) with ESMTP id 0412C8E0001 for ; Thu, 28 Feb 2019 11:30:49 -0500 (EST) Received: by mail-yw1-f72.google.com with SMTP id d64so13889748ywa.17 for ; Thu, 28 Feb 2019 08:30:48 -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=+fTCozRbLMGgETAnd6XOzTuCoFNGxxYSxApGaKudEvQ=; b=GSofEg/7r3733pp3UNY0zt5FRcCRJ328CONqofNgUyiu+JG0FlB81J3LCn2T9AuO0d 9CM2412jdIi1b1E7VAvPOQYLApodrxlZX1eeHesNTTDSZ+MRMaxx3kzDEykKLN8Jf2g0 +qZJiHEV98/Bsl3lGhgOVWbv+1fu6VAMwx0QAIyGnppLhwMN8Wr8ExkJR8wcPXsoSBhz QGWGJOWZs07PqOI7zldIQuBjLu1PNlHNw+OMJ2EyUumo1JxheVAo7wp6wwZCPNmyw9eY ZFZioqJcEIHCxSWnPh9Cxj+mRbEcfS9KC8lCdnfVjLtRAmQU4nNKszoU2FchaLULoOSj Uf3w== X-Gm-Message-State: AHQUAubfC9CPwQeTcwFrJLj0/v6aYsC4i/JzM/YQkHPXTTPG04po642d 1WTKXRCTzhqzhsNIDqOrI5LruEMZzEHdTINgoOxy7bUAqPApm7DuMCm9A/zeoHS7SAJPooc81qN 55zi+0z0KdBmveFFfYKgMWzYJcd2xRvIURmF360JgoYTXwSSW69gSlMrgBQJqFOMvLRDuPdbVzn U6LC6+UplQhdr55donIp+HIJr7sVb57M/2nLiFL+z1j3ZcAiU8L0PBu9l82x27jT2URIzUaYVbv EKWrhOa5caRr1iRM3eoSFgCbg+g9gsgkmujg5Jmx4DwdsxvUNMQhIOuazqAWfmWEH+NqDBT6HH9 UcZdlt2NRkBHp89VLKR9HUXKlmfTIKuqWBhfEAvCTzXZZ0uCitjOlhQwO3BCcyFs/iAyoRGUX0q s X-Received: by 2002:a0d:d98e:: with SMTP id b136mr6362618ywe.485.1551371448716; Thu, 28 Feb 2019 08:30:48 -0800 (PST) X-Received: by 2002:a0d:d98e:: with SMTP id b136mr6362538ywe.485.1551371447661; Thu, 28 Feb 2019 08:30:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551371447; cv=none; d=google.com; s=arc-20160816; b=VpPmzUpugWXvMYEm+HfV9U2Xoer+4rnNZKXdIKJmAHwyXQQBZ34s3rVi13LFZnL8uv JDBVHqNjyApBeVR4vP9O+obDiNmaUyPgN37f19cJ3CUglJDrIvQBq6B26liI2sER/I5S Z4ILK7qDePip3N8NLkjIDFnJI1sCAU4r/UMiPh65vE0prItSwfSk9Z1ZhllV7iP8m2Zb NxmOqFfIPiBokgPwLz7A+xDGcny8AGmVRW211mZj41IhSAryfq2GAP286A+eITZu/CZ2 xenX/vDHf/UMxE17/KpDWsGGwGDrjIhY8ApIFJLumbXyByHis+SsRubULVZPWpfSN6NQ A3SQ== 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=+fTCozRbLMGgETAnd6XOzTuCoFNGxxYSxApGaKudEvQ=; b=wCBN3EvQpPqVVW4mqCZNSN65D/W1nfm5aIR+HZfh1qfeTVX6yDhvlowg9dt0ZUwAib CUxJCVQrKDCqZxn2C/jRPEnC/NQtsE8CT4quG3Rq2KUYvyH8ms4noG2/C4aJyHafdz8X GhRgLCXMUAI0hjrrGpMeCVa2V3FMGU0oE1Dhwlz71uusEXuRoKTz94s+jerUDe0qcXU1 us8QHn7bmNMTDmuEQUpHP6vRlJNlZPjuPlujVq3eJDS/EfpJYj+50Ag1TsPbHEyHUNHl vwrN8SKV586L/BCTIGg3x4Xqb9I5lQ9RQmB/eX3g5+yAaMfbJ0bF3xpsUjWNStzNUkEl lZJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=x12aerec; 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 u31sor3668177ywh.74.2019.02.28.08.30.47 for (Google Transport Security); Thu, 28 Feb 2019 08:30:47 -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=x12aerec; 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=+fTCozRbLMGgETAnd6XOzTuCoFNGxxYSxApGaKudEvQ=; b=x12aerecO+G2Qi8DCMF2xSNAdXP6sBfvJQFyXJRVQZzC59w0Li6KJcU2pImtwibxdU jf1dSlSsVetoPQrYlc7ADovX4Z9ahMPqkLwaA10S6bLaHVLA0w9hGYX7L83qslBlCUmp yQyO2YHvfGJbtpNNJp4Jt1rHJvl3Pr7QmtLNylzcYOSY+44ehQkUBWAdlWVslNo6ftDg LJM1d+pyrMy9ErHzmV1drh8f3anJphXWFWrNeCPNNAOiRhhiNIVgIEMRO0MCXqL/o+wv tTccoxWk0I9ROwOYBJAZIuuupIO4nyL1sRD41Cfz+2izzbY8daIyH18gtRXknFFHxHoI 6Gpg== X-Google-Smtp-Source: AHgI3IbZrnHxcUzT2L+UlPG1PKqQVD2XJnyr/V/FAeHt3brx1OJMu+HCyA0UNInzg65K9j7PHaJQ2Q== X-Received: by 2002:a0d:d3c3:: with SMTP id v186mr6413209ywd.15.1551371446919; Thu, 28 Feb 2019 08:30:46 -0800 (PST) Received: from localhost ([2620:10d:c091:200::3:da64]) by smtp.gmail.com with ESMTPSA id e21sm1132279ywe.77.2019.02.28.08.30.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Feb 2019 08:30:46 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , Roman Gushchin , 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: Thu, 28 Feb 2019 11:30:18 -0500 Message-Id: <20190228163020.24100-5-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190228163020.24100-1-hannes@cmpxchg.org> References: <20190228163020.24100-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 5050d281f67d..57029eefd225 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -514,9 +514,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) @@ -979,13 +976,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 e702b67cde41..ad6214b3d20b 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -725,7 +725,7 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, __this_cpu_add(memcg->vmstats_percpu->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); @@ -1430,11 +1430,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 Thu Feb 28 16:30:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10833437 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 9A8AB17EF for ; Thu, 28 Feb 2019 16:31:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 84AF02F1B2 for ; Thu, 28 Feb 2019 16:31:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 818BF2EF5D; Thu, 28 Feb 2019 16:31:03 +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 18D6F2F3B3 for ; Thu, 28 Feb 2019 16:31:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 983338E0008; Thu, 28 Feb 2019 11:30:50 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 934138E0001; Thu, 28 Feb 2019 11:30:50 -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 801F48E0008; Thu, 28 Feb 2019 11:30:50 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f71.google.com (mail-yw1-f71.google.com [209.85.161.71]) by kanga.kvack.org (Postfix) with ESMTP id 4145D8E0001 for ; Thu, 28 Feb 2019 11:30:50 -0500 (EST) Received: by mail-yw1-f71.google.com with SMTP id v85so1569341ywc.5 for ; Thu, 28 Feb 2019 08:30:50 -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=xYRD3i2lO0S8FmpT0yhEIbRdeHMhHjlJuWkUHWcpJsw=; b=qhAbA99nmZGXOssL8iAgfph5bkmCGEIafUUxa67lwJA6aBlP+5uJvgncJgOhkZMPQo KvaJdBhD9sLarG2xuYutxtfp2R1fHYTfoXafGL9y8CFMVGcnNtpBNi83K63c39MvY5TT qrgVTFvFU8IvjYhM9PvenkqH3dMogQqHxz2lg6qGnKWSQyAsaAU7nZtVoy5qna3NSYLK 4Y9eYLBkC26PQ97DvKPB/o0CuVBuPPGFzCqrUgYk4NHl5WE2X3IlcRtHD0r47NgeL5yC TaAY+LuxE+0B9RdteYhXn5O8nGKGd8ZcCBg1Ib9FHRDmeXFxrHdTM+zOBVAjbe5UBjF5 cTFw== X-Gm-Message-State: AHQUAuYVB6Ziug87c7Fdt2FkrF4ODcBuN/fILnB07sHdVnDd2pOLpVyi QEtiCD8JfSuBeDSUHu4dR/MVWDeAmYsgAc7WlD2qbaeQDjtXQOJTnf9lsLfLidwDqJXjfSIJotU LdhqnNDW5U3uHcNlebRkeAzTRXQAhgPAn7DGPnrQYGTo9t8uHwjrWu8MtS8lz/yzudrQHTiWHmx nDeoHmIGH851Bf2EidohHSnyGE4ZBL+lh06PCdSKeHS/G182x9XW3Ru7j2oR6fv2y1AS2gAxO+W 87TLr14jXxGzMGdwRtYVADfdlUpG4FN1cruHUpc9NgEts+qzn+43Ik4CW+YcMTjde4fAE2akJXF VhcvxNe3m45+eKb5wm685aHCZfSQC4VNyr2QdpeiorfRTtlsyKDi+4ChQmFafaJrM+D0zMjmWVG A X-Received: by 2002:a81:6604:: with SMTP id a4mr6420526ywc.510.1551371449978; Thu, 28 Feb 2019 08:30:49 -0800 (PST) X-Received: by 2002:a81:6604:: with SMTP id a4mr6420453ywc.510.1551371449098; Thu, 28 Feb 2019 08:30:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551371449; cv=none; d=google.com; s=arc-20160816; b=vrSvg0aT2sWwpVuanCxvtst8v+vqYgeDxiZ7JfT1XPkRdB5DnDKm9JIS6D5VhupTK8 CXgD+MQJRTmuiMXS/XEwQ4lJiN6Acl3zjBPWjEbq3g7mGFXVaN7DrMxprTC0wu83fpBX n7wV2SZA+1z2ST/eoDSFIjOXpmZ4UC8Ru3enFKY3hKTMA32peCH7iqE8HGPeTNm6v3SS czJi4IBeIIk7WPK0hY0gM8dA1WzVOmGTudbha+zr/2bySzXum0zNnQpi9WJ4mAp5mIiT nZqRpyAX4QuwmGt8V3vLOtOPLpnPIny3cMX38yB084P5QTEfwT8RLwuvt04juTXUjtdX pcwA== 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=xYRD3i2lO0S8FmpT0yhEIbRdeHMhHjlJuWkUHWcpJsw=; b=QqqG/U9t5902Cnxp8gjd2uJ6hsE0RVkqOxyE8lYpw8stzP3ubaxmMnqSI9PwxVkI3g Tu0ixKSOEwVBMblR5gy6S/TFEiu7/PR4LTYIyBVW+m8dJb2CKAzAsmlCrmI45UZ6BADe vnyQZvbVWVtw9XkS5dYHt7RkJfjX9GZLF9vKmT8+SQxLSFpLomCOqFqhhP7XCV4s7nas rPTHQAo+6a+qHqVsn1xravnES7V3vCRJD0NnslrkgTOdFLhgc6jgijWHF9KNN2NN678Y RzTWu9iInehIBI+83x1N3r27iFusyZcH7/0xArukOUHQIILia2bghZAIQHxUZsOoSC7i G3Ow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=qZBcQtun; 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 x63sor2710945ywf.0.2019.02.28.08.30.49 for (Google Transport Security); Thu, 28 Feb 2019 08:30:49 -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=qZBcQtun; 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=xYRD3i2lO0S8FmpT0yhEIbRdeHMhHjlJuWkUHWcpJsw=; b=qZBcQtunj0HpdKLEyd50kzMF5u4hwQOvpkuAEd9NtT3C1jIdB7SHj5Wu9SVJiJwk3c efLEI5hR9LP5jqeXRHv91q1Cfi7QKY7YBX/nYdAjWaCkhg0/6IEOPiQBjKAq0bfilI3N 6+YUWT4QM7QuO2aTXzGCOAO03Gu8MEqoAFGi1AsO2Gy+6MSFPDuRjpmStKdiUf3gl9WQ rYJWUi4TxMM1rVZuaDh8gqG2aQjHBJ/peVLRMFwX1ONsJbyvqNoiueg8XQ0q6ZlZTrDO AmmgTrAeqcwX3nf/JCr/thMhQEdk6+oBM8aZcyfJ5f8xItULOYhkQICIPL/RS7FEkfXS 5ByA== X-Google-Smtp-Source: AHgI3IZPWS72vZA70SN28U7DTHABb87bYm9NNCIuTp6WKnKk1uOxy49S6BuAC7Fr2XXiYD0cttc+bQ== X-Received: by 2002:a81:3083:: with SMTP id w125mr6232560yww.170.1551371448843; Thu, 28 Feb 2019 08:30:48 -0800 (PST) Received: from localhost ([2620:10d:c091:200::3:da64]) by smtp.gmail.com with ESMTPSA id e3sm6679734ywe.33.2019.02.28.08.30.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Feb 2019 08:30:48 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , Roman Gushchin , 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: Thu, 28 Feb 2019 11:30:19 -0500 Message-Id: <20190228163020.24100-6-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190228163020.24100-1-hannes@cmpxchg.org> References: <20190228163020.24100-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 ad6214b3d20b..76f599fbbbe8 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1361,7 +1361,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"); } @@ -3016,8 +3016,8 @@ static void accumulate_vmstats(struct mem_cgroup *memcg, ? acc->vmevents_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); } } @@ -3447,7 +3447,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; @@ -3937,8 +3938,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 Thu Feb 28 16:30: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: 10833439 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 12BEC17E9 for ; Thu, 28 Feb 2019 16:31:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 018402EF43 for ; Thu, 28 Feb 2019 16:31:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F3F0A2F3F2; Thu, 28 Feb 2019 16:31:06 +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 55EDD2F3B3 for ; Thu, 28 Feb 2019 16:31:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D29D8E0009; Thu, 28 Feb 2019 11:30:52 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 981EC8E0001; Thu, 28 Feb 2019 11:30:52 -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 851428E0009; Thu, 28 Feb 2019 11:30:52 -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 4019D8E0001 for ; Thu, 28 Feb 2019 11:30:52 -0500 (EST) Received: by mail-yw1-f70.google.com with SMTP id c8so18015965ywa.0 for ; Thu, 28 Feb 2019 08:30:52 -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=Z2sRN7pljcgc3IEs1HOIZy7cq4U6Vg2axPUdXHMU2lE=; b=J0zkuu6O2y/gZT7A4CO4cGPf3khMyl6n1thtVWvc4RJF9dQ89eNzKbJZQuNKGymA70 7YY5Dv23/LO72ejQjuVhnkFKkY/Be+Dz2Lq5RMQnudeChshC794YsX9hXnKON4M/PHM9 AYAhrlUm7A62y91vKgKIPHMLM+9yHGCaw2HVH5vQiPLEQAZIZKZFhgRh6DU0m0uJD0cA fI2kR1KCkfo4e63paJW7C/RLY5RKvj39OmPcrMCYt+RELk2CnAsv8zr4bSDO4cZ8nNyC YpO7rV8JEaD3uKfv3pyqtC4OtcLr82X+ppICgSh70g2Hfmbo1N1mKfXDSO62AV8t2yCT 5L+Q== X-Gm-Message-State: APjAAAUaLcNgbpIShkaI/jsAC/ImR2fgsUrJ0RTbHVFTGDOrMm1WYbcd 49mYc2Ub/hg42dP+JuKK+wYtx8v0kcKiAitVmgFxh01kQ2d7GRbo/4QDmv1Gv9oXsoNhBweZqEh MyWwl3lPl9FAHNvYuBy/gKBD7tr/0GzUswYnjN65hBG9JRhpslmFZ9XAjlqaFp/4H+8wxgpOnTC KYHgNBvdO5e5VxZHSvJG/2BXVUh0C4+MHsOLi/dFCePXHvFvnMtUBfJ0jAZ6B5ghP/smZNNC6hp uqpRG+zqJjX4RNv/RQ1yPqLqB2WtdakjUwSpHCxXpg48oDz5yFLxkxCUYe2zmcfWNFEMZf4qEio 0D7VEbpYO1yaKSc2cdf+Ef8/yJ2HywD0kcy9WQRO2GYUJc/qd0tAQUXFsJCTOMqarHjOZei7U+V 3 X-Received: by 2002:a25:4ec5:: with SMTP id c188mr189079ybb.167.1551371451969; Thu, 28 Feb 2019 08:30:51 -0800 (PST) X-Received: by 2002:a25:4ec5:: with SMTP id c188mr188995ybb.167.1551371450935; Thu, 28 Feb 2019 08:30:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551371450; cv=none; d=google.com; s=arc-20160816; b=RfT2lPEsgHLxXQBedqsGoavHDh0vGKGEO2Pj5Ikp/s8FhaYxKqbWqBABGrfnZh9vMj flOK2rNvn8vssxrgsCbSRffgOr/ixg2AMPX0PVLZvsX6DTRdiWYXSdXOzwpXqTEbJa9Y hf3nMo2yp/aH77yp6E6QQesNtPpSZzHog0LMf+Z3363kPPygR6RKB1Z4MDr9bvIP9bA9 egn++3Ecq2NCqKMKoy6kD+Xq6P1ybUvQjxLBgrZMZqgH9CeFpZRUpASqP3NnoeBL+GjP fgt6fEm28NgIPZ1/Gh0YDEj4ZPXq8upj6gSWiz1YYSoj9sU0mScvGtQnAQNeEakn7lTQ Pjag== 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=Z2sRN7pljcgc3IEs1HOIZy7cq4U6Vg2axPUdXHMU2lE=; b=Jks2r1dVcBinrTjCSYFDayEup2AqRbYARJoz5effBWWLEoiEfK9Kp7Fsv1Q9CEKTaM jeNEF0xwyUi/dOO50mCyJ6JeliSfCJOuz5yGXeTNRoMTqFnRge7MAOakOw5rsgaA2YQ8 4YRyOvTsTaGUG87ETdnkeI8G20pLmoLkE3tGCt3f9o/dC+pCUt5eviwU3bnTRZzgT/8v Uw6OQSnUuv+qBT5aXX7IA9TIyB94sd4BcIom+M6pZ9/fqVBws1SfzhPQve6ZtGB712Mf mIpwfDqhENyIOWloIFUU+OJ8xWgdFJxCBlbGP3t90QIhjkcUa7JAM/tr0AKijaa20YAh DvdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=DEAtdOPW; 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 e64sor7709929ybb.116.2019.02.28.08.30.50 for (Google Transport Security); Thu, 28 Feb 2019 08:30:50 -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=DEAtdOPW; 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=Z2sRN7pljcgc3IEs1HOIZy7cq4U6Vg2axPUdXHMU2lE=; b=DEAtdOPWiEo0uOoF/kNQdPF0USk1MRsY3/VKt8/mJQFicjBli6ttNVH8RkvHkOg7wY ByBYfX+mPzOz9P8Dn43tEMTeRXyvR12moI751Uv096CLMEY6EjSZA+WEDf1fNGD8fukR hI3+VbOhIJVPNA3hgzNYNYZIqwq8/bYnBQQFyYaygDjHRN0w9ne2jfjL/rrEuW2UgLZx ePVPYNWL+E839Gw74yrULf1nuqJO6jmJUWceXhvNVkSQYCxL+N+qwhDGHo4wc3vE1NnZ uvoFdHHWn7bP1Lkywedfry5vLXo9gAO6JiqCgHzo8jp3u2/gXV2IhksYFvEo+pcToDvJ XK6g== X-Google-Smtp-Source: APXvYqyNcyZYPdtjY9m+2V16Yk0I+x1bw52PllT0bSsmtOHA4mF7H5azCPmD+vCWxBwj1x3AcONkCQ== X-Received: by 2002:a25:804a:: with SMTP id a10mr234343ybn.150.1551371450712; Thu, 28 Feb 2019 08:30:50 -0800 (PST) Received: from localhost ([2620:10d:c091:200::3:da64]) by smtp.gmail.com with ESMTPSA id l202sm4189232ywb.72.2019.02.28.08.30.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Feb 2019 08:30:50 -0800 (PST) From: Johannes Weiner To: Andrew Morton Cc: Tejun Heo , Roman Gushchin , 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: Thu, 28 Feb 2019 11:30:20 -0500 Message-Id: <20190228163020.24100-7-hannes@cmpxchg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190228163020.24100-1-hannes@cmpxchg.org> References: <20190228163020.24100-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 2fd4247262e9..4f92d32c26a7 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -305,11 +305,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 76f599fbbbe8..84243831b738 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -725,37 +725,6 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, __this_cpu_add(memcg->vmstats_percpu->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) { @@ -3357,6 +3326,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 {