Message ID | 20230421174020.2994750-3-yosryahmed@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | cgroup: eliminate atomic rstat flushing | expand |
On Fri, Apr 21, 2023 at 05:40:17PM +0000, Yosry Ahmed wrote: > The previous patch moved the wb_over_bg_thresh()->mem_cgroup_wb_stats() > code path in wb_writeback() outside the lock section. We no longer need > to flush the stats atomically. Flush the stats non-atomically. > > Signed-off-by: Yosry Ahmed <yosryahmed@google.com> > Reviewed-by: Michal Koutný <mkoutny@suse.com> > Acked-by: Shakeel Butt <shakeelb@google.com> Acked-by: Tejun Heo <tj@kernel.org> Thanks.
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 4b27e245a055..5e79fdf8442b 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -4648,11 +4648,7 @@ void mem_cgroup_wb_stats(struct bdi_writeback *wb, unsigned long *pfilepages, struct mem_cgroup *memcg = mem_cgroup_from_css(wb->memcg_css); struct mem_cgroup *parent; - /* - * wb_writeback() takes a spinlock and calls - * wb_over_bg_thresh()->mem_cgroup_wb_stats(). Do not sleep. - */ - mem_cgroup_flush_stats_atomic(); + mem_cgroup_flush_stats(); *pdirty = memcg_page_state(memcg, NR_FILE_DIRTY); *pwriteback = memcg_page_state(memcg, NR_WRITEBACK);