On Mon, Mar 21, 2022 at 10:33:20AM -0400, Johannes Weiner wrote: > On Wed, Mar 16, 2022 at 06:39:28AM +0000, cgel.zte@xxxxxxxxx wrote: > > From: Yang Yang <yang.yang29@xxxxxxxxxx> > > > > psi tracks the time spent on submitting the IO of refaulting file pages > > and anonymous pages[1]. But after we tracks refaulting anonymous pages > > in swap_readpage[2][3], there is no need to track refaulting anonymous > > pages in submit_bio. > > > > So this patch can reduce redundant calling of psi_memstall_enter. And > > make it easier to track refaulting file pages and anonymous pages > > separately. > > I don't think this is an improvement. > > psi_memstall_enter() will check current->in_memstall once, detect the > nested call, and bail. Your patch checks PageSwapBacked for every page > being added. It's more branches for less robust code. And PageSwapBacked checking is after unlikely(PageWorkingset(page), so I think the impact is little.