diff --git a/include/linux/delayacct.h b/include/linux/delayacct.h index ec81485371ae..84c2f68244f9 100644 --- a/include/linux/delayacct.h +++ b/include/linux/delayacct.h @@ -58,7 +58,12 @@ struct task_delay_info { u64 freepages_start; u64 freepages_delay; /* wait for memory reclaim */ + + u64 thrashing_start; + u64 thrashing_delay; /* wait for thrashing page */ + u32 freepages_count; /* total count of memory reclaim */ + u32 thrashing_count; /* total count of thrash waits */ }; #endif diff --git a/mm/filemap.c b/mm/filemap.c index 8ac24044e9ae..7b888f97287f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -837,12 +837,6 @@ int wait_on_page_bit_killable_timeout(struct page *page, psi_memstall_leave(&pflags); } - if (thrashing) { - if (!PageSwapBacked(page)) - delayacct_thrashing_end(); - psi_memstall_leave(&pflags); - } - /* * A signal could leave PageWaiters set. Clearing it here if * !waitqueue_active would be possible (by open-coding finish_wait),