[<prev] [next>] [day] [month] [year] [list]
Message-ID: <YLogX+4YSMacgbGH@slm.duckdns.org>
Date: Fri, 4 Jun 2021 08:45:19 -0400
From: Tejun Heo <tj@...nel.org>
To: Hillf Danton <hdanton@...a.com>
Cc: Shakeel Butt <shakeelb@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Muchun Song <songmuchun@...edance.com>,
Michal Hocko <mhocko@...nel.org>, Roman Gushchin <guro@...com>,
Michal Koutný <mkoutny@...e.com>,
Huang Ying <ying.huang@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
cgroups@...r.kernel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] memcg: periodically flush the memcg stats
On Fri, Jun 04, 2021 at 02:18:16PM +0800, Hillf Danton wrote:
> On Thu, 3 Jun 2021 18:56:40 -0700 Shakeel Butt wrote:
> >
> > +static void flush_memcg_stats(struct work_struct *w)
> > +{
> > + cgroup_rstat_flush(root_mem_cgroup->css.cgroup);
> > + schedule_delayed_work(&stats_flush, round_jiffies(2UL*HZ));
> > +}
>
> Given flush may block, the unbound wq is what you need.
>
> queue_delayed_work(system_unbound_wq, &stats_flush, 2 * HZ);
Default per-cpu workqueue can block just fine. I don't see a strong reason
why this would need to be unbound.
--
tejun
Powered by blists - more mailing lists