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. We are also working for a new patch to classify different reasons cause psi_memstall_enter(): reclaim, thrashing, compact, etc. This will help user to tuning sysctl, for example, if user see high compact delay, he may try do adjust THP sysctl to reduce the compact delay. To support that, we should distinguish what's the reason cause psi in submit_io(), this patch does the job.