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: Andrew Morton <akpm@linux-foundation.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Michal Hocko <mhocko@kernel.org>,
	Muchun Song <muchun.song@linux.dev>,
	Vlastimil Babka <vbabka@suse.cz>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	linux-mm@kvack.org, cgroups@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Meta kernel team <kernel-team@meta.com>
Subject: Re: [PATCH 2/9] memcg: decouple drain_obj_stock from local stock
Date: Tue, 18 Mar 2025 00:44:08 +0000	[thread overview]
Message-ID: <Z9jB2DFVY2R99ekS@google.com> (raw)
In-Reply-To: <20250315174930.1769599-3-shakeel.butt@linux.dev>

On Sat, Mar 15, 2025 at 10:49:23AM -0700, Shakeel Butt wrote:
> Currently drain_obj_stock() can potentially call __refill_stock which
> accesses local cpu stock and thus requires memcg stock's local_lock.
> However if we look at the code paths leading to drain_obj_stock(), there
> is never a good reason to refill the memcg stock at all from it.
> 
> At the moment, drain_obj_stock can be called from reclaim, hotplug cpu
> teardown, mod_objcg_state() and refill_obj_stock(). For reclaim and
> hotplug there is no need to refill. For the other two paths, most
> probably the newly switched objcg would be used in near future and thus
> no need to refill stock with the older objcg.
> 
> In addition, __refill_stock() from drain_obj_stock() happens on rare
> cases, so performance is not really an issue. Let's just uncharge
> directly instead of refill which will also decouple drain_obj_stock from
> local cpu stock and local_lock requirements.
> 
> Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
> Acked-by: Vlastimil Babka <vbabka@suse.cz>

Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev>

  reply	other threads:[~2025-03-18  0:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-15 17:49 [PATCH 0/9] memcg: cleanup per-cpu stock Shakeel Butt
2025-03-15 17:49 ` [PATCH 1/9] memcg: remove root memcg check from refill_stock Shakeel Butt
2025-03-18  0:39   ` Roman Gushchin
2025-03-18  7:59   ` Vlastimil Babka
2025-03-21 16:55     ` Shakeel Butt
2025-03-15 17:49 ` [PATCH 2/9] memcg: decouple drain_obj_stock from local stock Shakeel Butt
2025-03-18  0:44   ` Roman Gushchin [this message]
2025-03-15 17:49 ` [PATCH 3/9] memcg: introduce memcg_uncharge Shakeel Butt
2025-03-18  0:50   ` Roman Gushchin
2025-03-15 17:49 ` [PATCH 4/9] memcg: manually inline __refill_stock Shakeel Butt
2025-03-18  0:58   ` Roman Gushchin
2025-03-18  7:58     ` Vlastimil Babka
2025-03-15 17:49 ` [PATCH 5/9] memcg: no refilling stock from obj_cgroup_release Shakeel Butt
2025-03-18  1:06   ` Roman Gushchin
2025-03-15 17:49 ` [PATCH 6/9] memcg: do obj_cgroup_put inside drain_obj_stock Shakeel Butt
2025-03-18  1:07   ` Roman Gushchin
2025-03-15 17:49 ` [PATCH 7/9] memcg: use __mod_memcg_state in drain_obj_stock Shakeel Butt
2025-03-17 20:56   ` Vlastimil Babka
2025-03-17 21:54     ` Shakeel Butt
2025-03-18  8:02       ` Vlastimil Babka
2025-03-18  1:13   ` Roman Gushchin
2025-03-18  7:50     ` Vlastimil Babka
2025-03-15 17:49 ` [PATCH 8/9] memcg: combine slab obj stock charging and accounting Shakeel Butt
2025-03-18  1:20   ` Roman Gushchin
2025-03-15 17:49 ` [PATCH 9/9] memcg: manually inline replace_stock_objcg Shakeel Butt
2025-03-18  1:21   ` Roman Gushchin
2025-03-18  8:00   ` Vlastimil Babka
2025-03-16  3:57 ` [PATCH 0/9] memcg: cleanup per-cpu stock Andrew Morton
2025-03-16  4:43   ` Shakeel Butt
2025-03-16 15:59   ` Alexei Starovoitov
2025-03-17 18:11     ` Shakeel Butt
2025-03-17 20:27     ` Andrew Morton
2025-04-02 20:40 ` 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=Z9jB2DFVY2R99ekS@google.com \
    --to=roman.gushchin@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=bigeasy@linutronix.de \
    --cc=cgroups@vger.kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=muchun.song@linux.dev \
    --cc=shakeel.butt@linux.dev \
    --cc=vbabka@suse.cz \
    /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.