All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roman Gushchin <roman.gushchin@linux.dev>
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Michal Hocko <mhocko@suse.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Muchun Song <muchun.song@linux.dev>,
	Hugh Dickins <hughd@google.com>,
	linux-mm@kvack.org, cgroups@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-doc@vger.kernel.org,
	Meta kernel team <kernel-team@meta.com>
Subject: Re: [RFC PATCH 3/3] memcg-v1: remove memcg move locking code
Date: Thu, 24 Oct 2024 18:54:01 +0000	[thread overview]
Message-ID: <ZxqXyQb1nT6DWPN_@google.com> (raw)
In-Reply-To: <kr6fjny7aqni4habduj2uqfznusozkku3xeq62bjscb5ovwxog@ccgl3kxufmma>

On Thu, Oct 24, 2024 at 10:23:49AM -0700, Shakeel Butt wrote:
> On Thu, Oct 24, 2024 at 11:16:52AM GMT, Michal Hocko wrote:
> > On Wed 23-10-24 23:57:12, Shakeel Butt wrote:
> > > The memcg v1's charge move feature has been deprecated. There is no need
> > > to have any locking or protection against the moving charge. Let's
> > > proceed to remove all the locking code related to charge moving.
> > > 
> > > Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
> > > ---
> > > -/**
> > > - * folio_memcg_lock - Bind a folio to its memcg.
> > > - * @folio: The folio.
> > > - *
> > > - * This function prevents unlocked LRU folios from being moved to
> > > - * another cgroup.
> > > - *
> > > - * It ensures lifetime of the bound memcg.  The caller is responsible
> > > - * for the lifetime of the folio.
> > > - */
> > > -void folio_memcg_lock(struct folio *folio)
> > > -{
> > > -	struct mem_cgroup *memcg;
> > > -	unsigned long flags;
> > > -
> > > -	/*
> > > -	 * The RCU lock is held throughout the transaction.  The fast
> > > -	 * path can get away without acquiring the memcg->move_lock
> > > -	 * because page moving starts with an RCU grace period.
> > > -         */
> > > -	rcu_read_lock();
> > 
> > Is it safe to remove the implicit RCU?
> 
> Good question. I think it will be safe to keep the RCU in this patch and
> in the followup examine each place and decide to remove RCU or not.

I took a really quick look and based on it I believe it is safe.
Shakeel, can you, please, check too and preferably keep your code intact.
I think it's better to remove it all together, rather than do it in two steps.
If we really need rcu somewhere, we can replace folio_memcg_lock()/unlock()
with an explicit rcu_read_lock()/rcu_read_unlock().

Thanks!

  reply	other threads:[~2024-10-24 18:54 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-24  6:57 [RFC PATCH 0/3] memcg-v1: fully deprecate charge moving Shakeel Butt
2024-10-24  6:57 ` [RFC PATCH 1/3] memcg-v1: fully deprecate move_charge_at_immigrate Shakeel Butt
2024-10-24  9:14   ` Michal Hocko
2024-10-24 16:51     ` Roman Gushchin
2024-10-24 17:16       ` Shakeel Butt
2024-10-24 16:49   ` Roman Gushchin
2024-10-24  6:57 ` [RFC PATCH 2/3] memcg-v1: remove charge move code Shakeel Butt
2024-10-24  9:14   ` Michal Hocko
2024-10-24 16:50   ` Roman Gushchin
2024-10-24  6:57 ` [RFC PATCH 3/3] memcg-v1: remove memcg move locking code Shakeel Butt
2024-10-25  1:23   ` Shakeel Butt
2024-10-24  9:16   ` Michal Hocko
2024-10-24 17:23     ` Shakeel Butt
2024-10-24 18:54       ` Roman Gushchin [this message]
2024-10-24 19:38         ` Shakeel Butt
2024-10-24 16:50   ` Roman Gushchin
2024-10-24 17:26     ` Shakeel Butt
2024-10-24 19:45       ` Michal Hocko
2024-10-24 20:32         ` Yosry Ahmed
2024-10-24 21:08           ` Michal Hocko
2024-10-27  7:03   ` kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2024-10-25  1:22 [PATCH v1 0/6] memcg-v1: fully deprecate charge moving Shakeel Butt
2024-10-25  1:22 ` [PATCH v1 1/6] memcg-v1: fully deprecate move_charge_at_immigrate Shakeel Butt
2024-10-25  6:54   ` Michal Hocko
2024-10-28 13:53   ` Johannes Weiner
2024-10-25  1:22 ` [PATCH v1 2/6] memcg-v1: remove charge move code Shakeel Butt
2024-10-28 10:22   ` David Hildenbrand
2024-10-28 10:40     ` David Hildenbrand
2024-10-28 13:54   ` Johannes Weiner
2024-10-25  1:23 ` [PATCH v1 3/6] memcg-v1: no need for memcg locking for dirty tracking Shakeel Butt
2024-10-25  6:56   ` Michal Hocko
2024-10-25 16:22     ` Shakeel Butt
2024-10-25 17:40   ` Roman Gushchin
2024-10-28 14:00   ` Johannes Weiner
2024-10-25  1:23 ` [PATCH v1 4/6] memcg-v1: no need for memcg locking for writeback tracking Shakeel Butt
2024-10-25  6:57   ` Michal Hocko
2024-10-25 17:40   ` Roman Gushchin
2024-10-28 14:00   ` Johannes Weiner
2024-10-25  1:23 ` [PATCH v1 5/6] memcg-v1: no need for memcg locking for MGLRU Shakeel Butt
2024-10-25 17:41   ` Roman Gushchin
2024-10-26  3:55   ` Yu Zhao
2024-10-26  6:20     ` Shakeel Butt
2024-10-26  6:34   ` Shakeel Butt
2024-10-26 15:26     ` Yu Zhao
2024-11-04 17:30       ` Yu Zhao
2024-11-04 21:38         ` Andrew Morton
2024-11-04 22:04           ` Shakeel Butt
2024-11-04 22:04           ` Yu Zhao
2024-11-04 22:08             ` Yu Zhao
2024-11-04 22:18               ` Andrew Morton
2024-10-25  1:23 ` [PATCH v1 6/6] memcg-v1: remove memcg move locking code Shakeel Butt
2024-10-25  6:59   ` Michal Hocko
2024-10-25 17:42   ` Roman Gushchin
2024-10-26  3:58   ` Yu Zhao
2024-10-26  6:26     ` Shakeel Butt
2024-10-28 14:02   ` Johannes Weiner
2024-10-25  1:33 ` [PATCH v1 0/6] memcg-v1: fully deprecate charge moving Shakeel Butt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZxqXyQb1nT6DWPN_@google.com \
    --to=roman.gushchin@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=kernel-team@meta.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=muchun.song@linux.dev \
    --cc=shakeel.butt@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.