All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Miaohe Lin <linmiaohe@huawei.com>
Cc: hannes@cmpxchg.org, vdavydov.dev@gmail.com,
	akpm@linux-foundation.org, shakeelb@google.com, guro@fb.com,
	willy@infradead.org, alexs@kernel.org, richard.weiyang@gmail.com,
	songmuchun@bytedance.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, cgroups@vger.kernel.org
Subject: Re: [PATCH 2/5] mm, memcg: narrow the scope of percpu_charge_mutex
Date: Fri, 30 Jul 2021 08:46:45 +0200	[thread overview]
Message-ID: <YQOgVfSrQRWdfiJH@dhcp22.suse.cz> (raw)
In-Reply-To: <20210729125755.16871-3-linmiaohe@huawei.com>

On Thu 29-07-21 20:57:52, Miaohe Lin wrote:
> Since percpu_charge_mutex is only used inside drain_all_stock(), we can
> narrow the scope of percpu_charge_mutex by moving it here.

Makes sense and this is usually my preference as well. We used to have
other caller back then so I couldn't.

> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>

Acked-by: Michal Hocko <mhocko@suse.com>

Thanks!

> ---
>  mm/memcontrol.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 6580c2381a3e..a03e24e57cd9 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -2050,7 +2050,6 @@ struct memcg_stock_pcp {
>  #define FLUSHING_CACHED_CHARGE	0
>  };
>  static DEFINE_PER_CPU(struct memcg_stock_pcp, memcg_stock);
> -static DEFINE_MUTEX(percpu_charge_mutex);
>  
>  #ifdef CONFIG_MEMCG_KMEM
>  static void drain_obj_stock(struct obj_stock *stock);
> @@ -2209,6 +2208,7 @@ static void refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages)
>   */
>  static void drain_all_stock(struct mem_cgroup *root_memcg)
>  {
> +	static DEFINE_MUTEX(percpu_charge_mutex);
>  	int cpu, curcpu;
>  
>  	/* If someone's already draining, avoid adding running more workers. */
> -- 
> 2.23.0

-- 
Michal Hocko
SUSE Labs

  parent reply	other threads:[~2021-07-30  6:46 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-29 12:57 [PATCH 0/5] Cleanups and fixup for memcontrol Miaohe Lin
2021-07-29 12:57 ` Miaohe Lin
2021-07-29 12:57 ` [PATCH 1/5] mm, memcg: remove unused functions Miaohe Lin
2021-07-29 12:57   ` Miaohe Lin
2021-07-29 14:07   ` Shakeel Butt
2021-07-29 14:07     ` Shakeel Butt
2021-07-29 14:07     ` Shakeel Butt
2021-07-30  2:39   ` Muchun Song
2021-07-30  2:39     ` Muchun Song
2021-07-30  2:39     ` Muchun Song
2021-07-30  2:57   ` Roman Gushchin
2021-07-30  2:57     ` Roman Gushchin
2021-07-30  6:45   ` Michal Hocko
2021-07-30  6:45     ` Michal Hocko
2021-07-29 12:57 ` [PATCH 2/5] mm, memcg: narrow the scope of percpu_charge_mutex Miaohe Lin
2021-07-29 12:57   ` Miaohe Lin
2021-07-30  2:42   ` Muchun Song
2021-07-30  2:42     ` Muchun Song
2021-07-30  2:42     ` Muchun Song
2021-07-30  3:06   ` Roman Gushchin
2021-07-30  3:06     ` Roman Gushchin
2021-07-30  6:50     ` Michal Hocko
2021-07-30  6:50       ` Michal Hocko
2021-07-31  2:29       ` Miaohe Lin
2021-07-31  2:29         ` Miaohe Lin
2021-08-02  6:49         ` Michal Hocko
2021-08-02  6:49           ` Michal Hocko
2021-08-02  9:54           ` Miaohe Lin
2021-08-02  9:54             ` Miaohe Lin
2021-08-03  3:40         ` Roman Gushchin
2021-08-03  3:40           ` Roman Gushchin
2021-08-03  6:29           ` Miaohe Lin
2021-08-03  6:29             ` Miaohe Lin
2021-08-03  7:11             ` Michal Hocko
2021-08-03  7:11               ` Michal Hocko
2021-08-03  7:13               ` Roman Gushchin
2021-08-03  7:13                 ` Roman Gushchin
2021-08-03  7:27                 ` Michal Hocko
2021-08-03  7:27                   ` Michal Hocko
2021-08-03  9:33             ` Muchun Song
2021-08-03  9:33               ` Muchun Song
2021-08-03  9:33               ` Muchun Song
2021-08-03 10:50               ` Miaohe Lin
2021-08-03 10:50                 ` Miaohe Lin
2021-08-03 14:15       ` Johannes Weiner
2021-08-03 14:15         ` Johannes Weiner
2021-08-04  8:20         ` Michal Hocko
2021-08-04  8:20           ` Michal Hocko
2021-08-05  1:44           ` Miaohe Lin
2021-08-05  1:44             ` Miaohe Lin
2021-07-30  6:46   ` Michal Hocko [this message]
2021-07-29 12:57 ` [PATCH 3/5] mm, memcg: save some atomic ops when flush is already true Miaohe Lin
2021-07-29 12:57   ` Miaohe Lin
2021-07-29 14:40   ` Shakeel Butt
2021-07-29 14:40     ` Shakeel Butt
2021-07-29 14:40     ` Shakeel Butt
2021-07-30  2:37   ` Muchun Song
2021-07-30  2:37     ` Muchun Song
2021-07-30  2:37     ` Muchun Song
2021-07-30  3:07   ` Roman Gushchin
2021-07-30  3:07     ` Roman Gushchin
2021-07-30  6:51   ` Michal Hocko
2021-07-30  6:51     ` Michal Hocko
2021-07-29 12:57 ` [PATCH 4/5] mm, memcg: avoid possible NULL pointer dereferencing in mem_cgroup_init() Miaohe Lin
2021-07-29 12:57   ` Miaohe Lin
2021-07-29 13:52   ` Matthew Wilcox
2021-07-29 13:52     ` Matthew Wilcox
2021-07-30  1:50     ` Miaohe Lin
2021-07-30  1:50       ` Miaohe Lin
2021-07-30  3:12   ` Roman Gushchin
2021-07-30  3:12     ` Roman Gushchin
2021-07-30  6:29     ` Miaohe Lin
2021-07-30  6:29       ` Miaohe Lin
2021-07-30  6:44     ` Michal Hocko
2021-07-30  6:44       ` Michal Hocko
2021-07-31  2:05       ` Miaohe Lin
2021-07-31  2:05         ` Miaohe Lin
2021-08-02  6:43         ` Michal Hocko
2021-08-02  6:43           ` Michal Hocko
2021-08-02 10:00           ` Miaohe Lin
2021-08-02 10:00             ` Miaohe Lin
2021-08-02 10:42             ` Michal Hocko
2021-08-02 10:42               ` Michal Hocko
2021-08-02 11:18               ` Miaohe Lin
2021-08-02 11:18                 ` Miaohe Lin
2021-07-29 12:57 ` [PATCH 5/5] mm, memcg: always call __mod_node_page_state() with preempt disabled Miaohe Lin
2021-07-29 12:57   ` Miaohe Lin
2021-07-29 14:39   ` Shakeel Butt
2021-07-29 14:39     ` Shakeel Butt
2021-07-29 14:39     ` Shakeel Butt
2021-07-30  1:52     ` Miaohe Lin
2021-07-30  1:52       ` Miaohe Lin
2021-07-30  2:33       ` [External] " Muchun Song
2021-07-30  2:33         ` Muchun Song
2021-07-30  2:33         ` Muchun Song
2021-07-30  2:46         ` Miaohe Lin
2021-07-30  2:46           ` Miaohe Lin

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=YQOgVfSrQRWdfiJH@dhcp22.suse.cz \
    --to=mhocko@suse.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexs@kernel.org \
    --cc=cgroups@vger.kernel.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=linmiaohe@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=richard.weiyang@gmail.com \
    --cc=shakeelb@google.com \
    --cc=songmuchun@bytedance.com \
    --cc=vdavydov.dev@gmail.com \
    --cc=willy@infradead.org \
    /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.