From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD45FC433EF for ; Wed, 30 Mar 2022 23:47:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9B5648D0006; Wed, 30 Mar 2022 19:47:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 965818D0003; Wed, 30 Mar 2022 19:47:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7E01B8D0006; Wed, 30 Mar 2022 19:47:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.a.hostedemail.com [64.99.140.24]) by kanga.kvack.org (Postfix) with ESMTP id 526A48D0003 for ; Wed, 30 Mar 2022 19:47:46 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 28EA120A3E for ; Wed, 30 Mar 2022 23:47:46 +0000 (UTC) X-FDA: 79302692532.08.BB6195C Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf11.hostedemail.com (Postfix) with ESMTP id 928EC4000D for ; Wed, 30 Mar 2022 23:47:44 +0000 (UTC) Received: by mail-ej1-f45.google.com with SMTP id bq8so30663643ejb.10 for ; Wed, 30 Mar 2022 16:47:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6FJnqnKyYiDxw5+zHvmYhDEIHbsPH/AeIDmnSnqcv8U=; b=o5aWz+8c0XSKHv66RUMiIoR/ArVLQsHrsbZ9viJiWDel0QYolsZo+3P9o/TlWTdErM VM6LJrjtXVstBK+E+JwFdt37ex4X7hoR19Pnhxcnckr3VmFzG6JzVC6Fw+zBSi490HwX ZYiKTzS5tmQa16DJPiF7Dl5GiNAHQnXVF/DOUdjlxt/zPutCxvoWRnB2tsDK1yPy9gRu xU3yvDN9PThnJQVF2S053ymA5I4eqRir0mck8ma8Y8JW3FMWOU1adRcAFqn5DxCl4an1 glGeCvdWJOYmXzxxyc5qx08I1hzkYp2UtU+6l+Ah+4sc/q/Bad87aiQ4K4JliZ2OyhJj 5yaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=6FJnqnKyYiDxw5+zHvmYhDEIHbsPH/AeIDmnSnqcv8U=; b=MC6EARk9I+wjPsIuQZmHzIotSnunZcXKg19heSFGcyEfHjJWm5GN5gZN7SBMtPvzMA 8Q1KYwADA2d4knvu6R4x7UDaiQSBdQmV7SwZuL16WsdHVTBUQ0OG7GgPHcN5/cMbPm0P /0KnkNhkdednw8VerC3f9Dj5jv7OhDc1N2Li8JDYa6A4lj9PQtQMAHqvGK/AmtJpOwMg DuQVIDP9dPJWNsWoITU3RktqFkylAJrdGb5BZK8O1OZZ3hw1cn9sbADw+SSPU2TZVqTC 70MbNS1QThtS8cwGxPJ4St2fMF6TDOt1AZdTxngqOQkSc0s1Q35XoDD6vOIrMB6clqEy +2rQ== X-Gm-Message-State: AOAM5332nOPuW+OpIFoWFgpwfVo5rDzkXpuj6IM7uE46vVD02r56vsu5 o/45xxYtU+Rmjap9VBlaq2M= X-Google-Smtp-Source: ABdhPJxYEItkqfh9mvC3TLsa/vajXERsHMYaAPlapmfd0q/6wb4IpuO77RspaKpXhGMU7MJtoQQUOw== X-Received: by 2002:a17:907:2d88:b0:6e4:9a7f:9175 with SMTP id gt8-20020a1709072d8800b006e49a7f9175mr2316911ejc.584.1648684063395; Wed, 30 Mar 2022 16:47:43 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id b3-20020aa7d483000000b00419209d4c85sm10271351edr.66.2022.03.30.16.47.42 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 Mar 2022 16:47:43 -0700 (PDT) From: Wei Yang To: hannes@cmpxchg.org, mhocko@kernel.org, vdavydov.dev@gmail.com, akpm@linux-foundation.org Cc: cgroups@vger.kernel.org, linux-mm@kvack.org, Wei Yang Subject: [Patch v2 2/3] mm/memcg: set pos explicitly for reclaim and !reclaim Date: Wed, 30 Mar 2022 23:47:18 +0000 Message-Id: <20220330234719.18340-3-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220330234719.18340-1-richard.weiyang@gmail.com> References: <20220330234719.18340-1-richard.weiyang@gmail.com> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 928EC4000D X-Stat-Signature: u1aqqmiyo94hkwoeqr89firtacd5w9n1 X-Rspam-User: Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=o5aWz+8c; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com X-HE-Tag: 1648684064-562051 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: During mem_cgroup_iter, there are two ways to get iteration position: reclaim vs non-reclaim mode. Let's do it explicitly for reclaim vs non-reclaim mode. Signed-off-by: Wei Yang --- v2: split into two explicit part as suggested by Johannes --- mm/memcontrol.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index eed9916cdce5..5d433b79ba47 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1005,9 +1005,6 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, if (!root) root = root_mem_cgroup; - if (prev && !reclaim) - pos = prev; - rcu_read_lock(); if (reclaim) { @@ -1033,6 +1030,8 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, */ (void)cmpxchg(&iter->position, pos, NULL); } + } else if (prev) { + pos = prev; } if (pos) -- 2.33.1