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.