On Fri, Aug 11, 2023 at 7:36 PM Yosry Ahmed <yosryahmed@xxxxxxxxxx> wrote: > > On Fri, Aug 11, 2023 at 7:29 PM Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > > > > On Fri, Aug 11, 2023 at 7:12 PM Yosry Ahmed <yosryahmed@xxxxxxxxxx> wrote: > > > > > [...] > > > > > > I am worried that writing to a stat for flushing then reading will > > > increase the staleness window which we are trying to reduce here. > > > Would it be acceptable to add a separate interface to explicitly read > > > flushed stats without having to write first? If the distinction > > > disappears in the future we can just short-circuit both interfaces. > > > > What is the acceptable staleness time window for your case? It is hard > > to imagine that a write+read will always be worse than just a read. > > Even the proposed patch can have an unintended and larger than > > expected staleness window due to some processing on > > return-to-userspace or some scheduling delay. > > Maybe I am worrying too much, we can just go for writing to > memory.stat for explicit stats refresh. > > Do we still want to go with the mutex approach Michal suggested for > do_flush_stats() to support either waiting for ongoing flushes > (mutex_lock) or skipping (mutex_trylock)? I would say keep that as a separate patch.