Re: [PATCH] mm : bail out from psi memstall after submit_bio in swap_readpage

From: Johannes Weiner
Date: Tue Sep 07 2021 - 09:24:33 EST


On Tue, Sep 07, 2021 at 08:15:30PM +0800, Zhaoyang Huang wrote:
> On Tue, Sep 7, 2021 at 8:03 PM Vlastimil Babka <vbabka@xxxxxxx> wrote:
> >
> > On 9/7/21 13:59, Huangzhaoyang wrote:
> > > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx>
> > >
> > > It doesn't make sense to count IO time into psi memstall. Bail out after
> > > bio submitted.
> >
> > Isn't that the point if psi, to observe real stalls, which include IO?

Yes, correct.

> IO stalls could be observed within blk_io_schedule. The time cost of
> the data from block device to RAM is counted here.

Yes, that is on purpose. The time a thread waits for swap read IO is
time in which the thread is not productive due to a lack of memory.

For async-submitted IO, this happens in lock_page() called from
do_swap_page(). If the submitting thread directly waits after the
submit_bio(), then that should be accounted too.

This patch doesn't make sense to me.