Re: [PATCH 1/2] mem_cgroup: optimize the atomic count of wb_completion

From: Michal Hocko
Date: Fri Sep 24 2021 - 10:02:03 EST


On Fri 24-09-21 21:02:52, brookxu wrote:
> Thanks for your time.
>
> Michal Hocko wrote on 2021/9/24 17:34:
> > On Fri 24-09-21 14:46:22, brookxu wrote:
> >> From: Chunguang Xu <brookxu@xxxxxxxxxxx>
> >>
> >> In order to track inflight foreign writeback, we init
> >> wb_completion.cnt to 1. For normal writeback, this cause
> >> wb_wait_for_completion() to perform meaningless atomic
> >> operations. Since foreign writebacks rarely occur in most
> >> scenarios, we can init wb_completion.cnt to 0 and set
> >> frn.done.cnt to 1. In this way we can avoid unnecessary
> >> atomic operations.
> >
> > Does this lead to any measurable differences?
>
> I created multiple cgroups that performed IO on multiple disks,
> then flushed the cache with sync command, and no measurable
> differences have been observed so far.

OK, so why do we want to optimize this code?
--
Michal Hocko
SUSE Labs