From patchwork Mon Jun 3 21:07:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Weiner X-Patchwork-Id: 10973983 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 C087E933 for ; Mon, 3 Jun 2019 21:08:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B18A82850F for ; Mon, 3 Jun 2019 21:08:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A527B2807B; Mon, 3 Jun 2019 21:08:34 +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 41B982807B for ; Mon, 3 Jun 2019 21:08:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C2D46B0271; Mon, 3 Jun 2019 17:08:31 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 5FD5E6B0272; Mon, 3 Jun 2019 17:08:31 -0400 (EDT) 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 476956B0273; Mon, 3 Jun 2019 17:08:31 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by kanga.kvack.org (Postfix) with ESMTP id 111436B0271 for ; Mon, 3 Jun 2019 17:08:31 -0400 (EDT) Received: by mail-pf1-f197.google.com with SMTP id o184so3890516pfg.1 for ; Mon, 03 Jun 2019 14:08:31 -0700 (PDT) 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=hW9XEaleHf0fxFzrzaLu3/5nxBFHbI/f8wU4NVTruL4=; b=Ze2H44b4Pyg0CWjLtwsEl6XxSi0E2HchtsSihVBqgIF9Qwabg3ERbZQrdzZmye9Zg4 Ouvl4eT8LW9IiYmhl7QnIRXmaI44S964IeYPKz+tHeS40WA3fwSYe+bvSABFdDkvFcUk gdl78lnVrY4ekH3fEgWlOn2MBIbynX77f9YrWqH3LgFqtv8+klgQ86KQZbDF93eM7YBi 5/c+8/H4IGoGbDh9qMPFu9yAdDv9ITRMRE/huQqGrohHQ9M5a59m5ZycTKweNkPwNfVB iA7ra+z9YfYCj53peaooBkObuj1pfxsyLnT3ePzQhw1PMI4nbpEfE7S3ixTC6fiBPRLn UyRQ== X-Gm-Message-State: APjAAAUrsYDVhSBBw1IlF7XgCcyoLiMqOcAUmVVOn7DY5c2xFIm5gQH1 40UYiKnIr+fmB2z/ZnFW2nfJBRn2uVOVFx6Ljqc6Xx1TFszdBNQG6OM5L5Q097oM7HU8JlZl4fo +3xgl0MtV27fvzDzGQPQbVwlmyyHiVKBb5P8NKRy+6R/s4oqnIS6qpfmMbwCYSLapEg== X-Received: by 2002:a63:e408:: with SMTP id a8mr31653746pgi.146.1559596110485; Mon, 03 Jun 2019 14:08:30 -0700 (PDT) X-Received: by 2002:a63:e408:: with SMTP id a8mr31653624pgi.146.1559596109456; Mon, 03 Jun 2019 14:08:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559596109; cv=none; d=google.com; s=arc-20160816; b=yWIzWiRoswgZB38DqPePLEWEjZp4GMC/xRMduHJNxD0eijk26zfVoyc0ksiZlFonGh rZ+7pfE/5gtkDko0Xv62kxtTBne7mq1wchH8kEPckNnnkrIT7ywdL7Ggus72MsxtPaEW gsOaPGUinHdD5NSzIX2HkatB6LxoiPggznj6v3sSubtvE5VCrrQ9jj2DYMSC6NUEl5qb FwUTjNkI6awqZq2j23y8rCTq1NWLybTGVPI4WSluWDqdS5Dj8LDeqvqJG/JJ08ZFou3A TdI/We8XLPah5e9GxfyhoUaVU43P76sSxNA2ZAKYjHYbVliquGkTn0GR6I/RAntB0V0X K7Jw== 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=hW9XEaleHf0fxFzrzaLu3/5nxBFHbI/f8wU4NVTruL4=; b=nR2Q6NZWElt1ZG56AOmsddEID7obZn8kZJvV3pJrR+Uxm8jV4u6MCHBc2vYBJ9evZG ajhUvTtiWs0Jn5pPqoSLsW/u7UPeK6nAedHw7+TlOs+faAfepSZVCU/c/wrVOEKlZIcv jyYf+rN6ktou6gfQm5rsOASY6G4KxWlD46jTv6BnMgocMMTXW4DvjeJmy81AwXrxGvc0 gUPQGVIxq0M/8sBxe2qCI7m7VRqFC0X7f4o2q2OIzi93ssqo7TdrdwbpV6W1SzXGlLD8 9UTKUFFCyKNpcuWz0zlqM6s1woe+tOFMwYinLNAnzwI16OPGgDuLvECcZCfkGOq+f0jt MSVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b="GiZl3I0/"; 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 bx5sor18153568pjb.22.2019.06.03.14.08.29 for (Google Transport Security); Mon, 03 Jun 2019 14:08:29 -0700 (PDT) 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="GiZl3I0/"; 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=hW9XEaleHf0fxFzrzaLu3/5nxBFHbI/f8wU4NVTruL4=; b=GiZl3I0/1nrhXFLsEYVx8i8I4at3od658KebcT8wvAtJDzTnhyqemuN29q2/fcr3KW tDsgy9TzZFg8DTfH/bgCfQ9DMl4vc7J4plUg5mA9cty9aXI8rxvDidvnbUu121RWDy3r e1RxDwqqABcmlJXwZaGPTzP0keY1G2zSdow7H3XEkR3F49wcmjR9HuHqyQb5DFvxXdrE L+ebT5LxPIX7aGWwOApYSGaixnBATTA3AvWr+WjSjHJsz0lxIbyDxEPuHK3xJkUAPctk yP5msqE7q+xLnKa1SZBpeRAnKA5wg+rgZtDOy4sVffJyMyZx1w3RUzvp12AR2PMSm3mf jkdA== X-Google-Smtp-Source: APXvYqxRKIe7ZlIxfiZR5KZpvX0iyzwEdC5f5c2JCVHHT7fr7Ha6rZsuX4a/y9QMM1RAzJK5pY+vwA== X-Received: by 2002:a17:90a:30a1:: with SMTP id h30mr33354770pjb.14.1559596109171; Mon, 03 Jun 2019 14:08:29 -0700 (PDT) Received: from localhost ([2620:10d:c091:500::1:9fa4]) by smtp.gmail.com with ESMTPSA id p18sm3454267pff.93.2019.06.03.14.08.28 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 03 Jun 2019 14:08:28 -0700 (PDT) From: Johannes Weiner To: Andrew Morton Cc: Andrey Ryabinin , Suren Baghdasaryan , Michal Hocko , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 03/11] mm: vmscan: simplify lruvec_lru_size() Date: Mon, 3 Jun 2019 17:07:38 -0400 Message-Id: <20190603210746.15800-4-hannes@cmpxchg.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190603210746.15800-1-hannes@cmpxchg.org> References: <20190603210746.15800-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 This function currently takes the node or lruvec size and subtracts the zones that are excluded by the classzone index of the allocation. It uses four different types of counters to do this. Just add up the eligible zones. Signed-off-by: Johannes Weiner Reviewed-by: Shakeel Butt --- mm/vmscan.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 853be16ee5e2..69c4c82a9b5a 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -342,30 +342,21 @@ unsigned long zone_reclaimable_pages(struct zone *zone) */ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) { - unsigned long lru_size; + unsigned long size = 0; int zid; - if (!mem_cgroup_disabled()) - lru_size = lruvec_page_state_local(lruvec, NR_LRU_BASE + lru); - else - lru_size = node_page_state(lruvec_pgdat(lruvec), NR_LRU_BASE + lru); - - for (zid = zone_idx + 1; zid < MAX_NR_ZONES; zid++) { + for (zid = 0; zid <= zone_idx; zid++) { struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; - unsigned long size; if (!managed_zone(zone)) continue; if (!mem_cgroup_disabled()) - size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid); + size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); else - size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid], - NR_ZONE_LRU_BASE + lru); - lru_size -= min(size, lru_size); + size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); } - - return lru_size; + return size; }