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 AE90DC433F5 for ; Tue, 29 Mar 2022 18:48:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37EFA8D0002; Tue, 29 Mar 2022 14:48:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 32CC18D0001; Tue, 29 Mar 2022 14:48:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1CE218D0002; Tue, 29 Mar 2022 14:48:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0147.hostedemail.com [216.40.44.147]) by kanga.kvack.org (Postfix) with ESMTP id 0A1CD8D0001 for ; Tue, 29 Mar 2022 14:48:32 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id BF2598249980 for ; Tue, 29 Mar 2022 18:48:31 +0000 (UTC) X-FDA: 79298309622.27.0FECD59 Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by imf13.hostedemail.com (Postfix) with ESMTP id 486A72000D for ; Tue, 29 Mar 2022 18:48:31 +0000 (UTC) Received: by mail-qk1-f175.google.com with SMTP id v13so14847210qkv.3 for ; Tue, 29 Mar 2022 11:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=2Ue720j7ugMkQUnb/lt991xjPAItzSMjnM76/9qe6aU=; b=m6HX8Nmsz+ICbn4fQENinggQ3NePah2mEpss7FwHfTZ8TgTA/q2tp4ZWR/xTIIBTFG 2lPBT9Ao7i0bjlT6pVRcUsxuGI++hVnjIjc+wSd05nK4flH1vx52YMeMGifUVs4GHKBa u2ALEJs2/rMaS4dpk/yXsQVQR6AfguhD+rpcrxOsZKDZnovFsXauEbmFOfWOaGDbvW0R T7Lifas5OuwCA5raKzWXiMNQyKauI4h23+MmdmPeO20ChEq6Uhv5la9v2uD6ztvm5tLn HfShR2sq1TmiBfZFvvwtR5vFW0eii01viX0Zb6xemCxICMTUXTTLWLlUsG/sCOrGPxa0 R3Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=2Ue720j7ugMkQUnb/lt991xjPAItzSMjnM76/9qe6aU=; b=J8PdZaDlLl3VU5dFRSP5FoFRcyQ1COgIZUdKUL4F7jkxtB91TRNXbky1gmQAX7KyGx NPbTcSPYaIkBEa9UtGpKei9+RwsIoo1i8KYKFpXTXJNrV9C/s0T+NkqeqCgZvDQxAgo7 CfhwbOtb7KbGgRqGYR+UHUAzZUjoZsrLK88qERSsj/9e5UmLEilYlgztDecdZ9+G+gnu ZeOjT0todB2fsKO15GRY1MLySxNsLEkBj0+o1tdfkw6N84ZJ/Cq09GwmKE6SloeJmjaH IjmdmbCky6dEA+Qcr+tDajIYGw+iRnIsefXOdg02hF8cBj0iCo3GmxYc3TtmI4uuUGQS JruQ== X-Gm-Message-State: AOAM532R0e6CWiIyNKXNY9RvxlvK+L00adnfz9HSndGiuXZ0Kk1KSA8C j04BH0NrSRzUL8muJ9SZP7n2JA== X-Google-Smtp-Source: ABdhPJxNiPEKaJrzC+HT1E7oTA3fORCRoHwfRrknt4QDb+d4iWkOWh0CnuOYXtcWionchC59pLzJGg== X-Received: by 2002:a05:620a:4452:b0:67d:b94a:8c34 with SMTP id w18-20020a05620a445200b0067db94a8c34mr21479729qkp.167.1648579710538; Tue, 29 Mar 2022 11:48:30 -0700 (PDT) Received: from localhost (cpe-98-15-154-102.hvc.res.rr.com. [98.15.154.102]) by smtp.gmail.com with ESMTPSA id m4-20020ac85b04000000b002e1dcaed228sm15078404qtw.7.2022.03.29.11.48.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Mar 2022 11:48:30 -0700 (PDT) Date: Tue, 29 Mar 2022 14:48:05 -0400 From: Johannes Weiner To: Wei Yang Cc: mhocko@kernel.org, vdavydov.dev@gmail.com, akpm@linux-foundation.org, cgroups@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 2/3] mm/memcg: set pos to prev unconditionally Message-ID: References: <20220225003437.12620-1-richard.weiyang@gmail.com> <20220225003437.12620-3-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220225003437.12620-3-richard.weiyang@gmail.com> Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=cmpxchg-org.20210112.gappssmtp.com header.s=20210112 header.b=m6HX8Nms; spf=pass (imf13.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.175 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 486A72000D X-Stat-Signature: 638xf7mya615x18qqta61d1ntsdjj3u6 X-HE-Tag: 1648579711-987169 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: On Fri, Feb 25, 2022 at 12:34:36AM +0000, Wei Yang wrote: > Current code set pos to prev based on condition (prev && !reclaim), > while we can do this unconditionally. > > Since: > > * If !reclaim, pos is the same as prev no matter it is NULL or not. > * If reclaim, pos would be set properly from iter->position. > > Signed-off-by: Wei Yang > --- > mm/memcontrol.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 9464fe2aa329..03399146168f 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -980,7 +980,7 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, > struct mem_cgroup_reclaim_iter *iter; > struct cgroup_subsys_state *css = NULL; > struct mem_cgroup *memcg = NULL; > - struct mem_cgroup *pos = NULL; > + struct mem_cgroup *pos = prev; I don't like this so much. It suggests pos always starts with prev, no matter what. But this isn't true for reclaim mode, which overrides the initialized value again. > if (mem_cgroup_disabled()) > return NULL; > @@ -988,9 +988,6 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, > if (!root) > root = root_mem_cgroup; > > - if (prev && !reclaim) > - pos = prev; How about making the reclaim vs non-reclaim mode explicit and do: if (reclaim) { ... pos = iter->position; ... } else { pos = prev; }