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 D5898C433F5 for ; Wed, 30 Mar 2022 23:04:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 703298D0002; Wed, 30 Mar 2022 19:04:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68B6C6B0073; Wed, 30 Mar 2022 19:04:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 504688D0002; Wed, 30 Mar 2022 19:04:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0099.hostedemail.com [216.40.44.99]) by kanga.kvack.org (Postfix) with ESMTP id 3FAB26B0072 for ; Wed, 30 Mar 2022 19:04:32 -0400 (EDT) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 003DD18298AEC for ; Wed, 30 Mar 2022 23:04:31 +0000 (UTC) X-FDA: 79302583584.28.779791A Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) by imf01.hostedemail.com (Postfix) with ESMTP id 87A724000B for ; Wed, 30 Mar 2022 23:04:31 +0000 (UTC) Received: by mail-ej1-f42.google.com with SMTP id c10so26069830ejs.13 for ; Wed, 30 Mar 2022 16:04:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:reply-to:references:mime-version :content-disposition:in-reply-to:user-agent; bh=dzKZ7ECGkzcFdPQK5M9ncRL/sQmYPUdD+l7iQzUycAA=; b=MftjtHFIxELw4IPjIcxy8tjPG26Iq9aW2ed4nF7XZHiDywZb4f2s/BLKMVFS3lWKmm 9fmTlV+ZpJ8KDPJEtUXaAFySzX5epOxrYuZ/mH4DpCGdxro2jggjgghc/RUbzwlnawP9 o3XgG435IlPTYm1Xm2n/BvkdW+/nBK6pp4FnWbY2k3fhd69xWmyaLmj8mYrDUMB4djjj 25nTEL1u5CYdqavAwTnbUNZnKXTfgEzXVGFJw/V6MDfVs0n8+EKD5+9Y95nGENMoGSpj ZyYYt4GNVp0A6CHGzJ+kxLhSn7rwgKr41PBNSEOvFSs4mOpwyVo6N1B+jmL56p9z3WFh Fa6Q== 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:reply-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=dzKZ7ECGkzcFdPQK5M9ncRL/sQmYPUdD+l7iQzUycAA=; b=3/QyWbCk/2trv0gn1EZoj9loBvjEqRIqp1l0EJiadG2/f6h3MEKkbhFmrqH0hjxEJs N1AuuVH3ejbdDH3XIXRzTjBYbbFUtHHGkB2Di6UBEEROeFq9NRbtxCOtSO9n9UzrHDgE umMfN+aL+aNpfMfH2SvVNcv+tOydBmEJWKpRL7xzFLSRKY27wv4dQMIqkn/zQTKm1nhq nxiB0Uf0HzEva6KUwS2a/vJ4XxJS88DupFk6R9rhKkciaYVfUfExfVTM/cKYsas/IJ2a FTcWVD5j208DnsSAAP1nVOUjMZb55e/eBnJjTq0tjvbjRvGdfldwTBR4BZiybjVzjQmc MzUA== X-Gm-Message-State: AOAM5330W/6FjMGg/UxhLc9q2egMm//KwCF7raedQYq3ksA0Qo2K1Lib wHL+OxJQK8ayIAFyRWbW9i0= X-Google-Smtp-Source: ABdhPJxhAIuWULIKpzZ/GYJkv8ySomgFTpP9EX2TyymMMyq59mUwBzURUn/gIkQjQ3V4klCGBZNhDQ== X-Received: by 2002:a17:906:c0c9:b0:6db:207:c41f with SMTP id bn9-20020a170906c0c900b006db0207c41fmr2208540ejb.292.1648681470183; Wed, 30 Mar 2022 16:04:30 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id p10-20020a17090664ca00b006df8869d58dsm8730965ejn.100.2022.03.30.16.04.29 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 Mar 2022 16:04:29 -0700 (PDT) Date: Wed, 30 Mar 2022 23:04:29 +0000 From: Wei Yang To: Johannes Weiner Cc: Wei Yang , mhocko@kernel.org, vdavydov.dev@gmail.com, akpm@linux-foundation.org, cgroups@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 3/3] mm/memcg: move generation assignment and comparison together Message-ID: <20220330230429.ua5y42cgr3f6crnr@master> Reply-To: Wei Yang References: <20220225003437.12620-1-richard.weiyang@gmail.com> <20220225003437.12620-4-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Stat-Signature: i4zgpxxkkwm5m66wwrheg86k8hb5wm3m Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MftjtHFI; spf=pass (imf01.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.42 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 87A724000B X-HE-Tag: 1648681471-465440 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 Wed, Mar 30, 2022 at 11:57:07AM -0400, Johannes Weiner wrote: >On Fri, Feb 25, 2022 at 12:34:37AM +0000, Wei Yang wrote: >> For each round-trip, we assign generation on first invocation and >> compare it on subsequent invocations. >> >> Let's move them together to make it more self-explaining. Also this >> reduce a check on prev. >> >> Signed-off-by: Wei Yang > >This makes sense. The function is structured into 1) load state, 2) >advance, 3) save state. The load state is a better fit for >initializing reclaim->generation. > >> @@ -996,7 +996,14 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, >> mz = root->nodeinfo[reclaim->pgdat->node_id]; >> iter = &mz->iter; >> >> - if (prev && reclaim->generation != iter->generation) >> + /* >> + * On first invocation, assign iter->generation to >> + * reclaim->generation. >> + * On subsequent invocations, make sure no one else jump in. >> + */ >> + if (!prev) >> + reclaim->generation = iter->generation; >> + else if (reclaim->generation != iter->generation) >> goto out_unlock; > >The comment duplicates the code, it doesn't explain why we're doing >this. How about: > > /* > * On start, join the current reclaim iteration cycle. > * Exit when a concurrent walker completes it. > */ This one looks better and explain the reclaim model. Thanks > >With that, please feel free to add: > >Acked-by: Johannes Weiner -- Wei Yang Help you, Help me