Hi, Andrew! I believe, that Rik's patch ( https://lkml.org/lkml/2019/1/28/1865 ) can make a difference here, and might fix the regression. I'd give it a chance, before reverting these two patches. Reverting will re-introduce the memcg-leak, which is quite bad. Thanks! On Tue, Jan 29, 2019 at 09:10:09PM -0800, Andrew Morton wrote: > > The patch titled > Subject: Revert "mm: don't reclaim inodes with many attached pages" > has been added to the -mm tree. Its filename is > revert-mm-dont-reclaim-inodes-with-many-attached-pages.patch > > This patch should soon appear at > https://urldefense.proofpoint.com/v2/url?u=http-3A__ozlabs.org_-7Eakpm_mmots_broken-2Dout_revert-2Dmm-2Ddont-2Dreclaim-2Dinodes-2Dwith-2Dmany-2Dattached-2Dpages.patch&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=FyF1C9cGjEdqHkUBqvei-KdEdRTXFGpZ4I0PmiEfyFo&s=VSS5uU4gj2RCLtvxvOT33OayobrBHoMnr7S_BX6Z1aU&e= > and later at > https://urldefense.proofpoint.com/v2/url?u=http-3A__ozlabs.org_-7Eakpm_mmotm_broken-2Dout_revert-2Dmm-2Ddont-2Dreclaim-2Dinodes-2Dwith-2Dmany-2Dattached-2Dpages.patch&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=FyF1C9cGjEdqHkUBqvei-KdEdRTXFGpZ4I0PmiEfyFo&s=-LrpRUXob7gymkXVHfk99LZx2GwNY8kcoUD1TuxO7kk&e= > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** > > The -mm tree is included into linux-next and is updated > there every 3-4 working days > > ------------------------------------------------------ > From: Dave Chinner <dchinner@xxxxxxxxxx> > Subject: Revert "mm: don't reclaim inodes with many attached pages" > > This reverts commit a76cf1a474d7dbcd9336b5f5afb0162baa142cf0. > > This change causes serious changes to page cache and inode cache behaviour > and balance, resulting in major performance regressions when combining > worklaods such as large file copies and kernel compiles. > > https://bugzilla.kernel.org/show_bug.cgi?id=202441 > > This change is a hack to work around the problems introduced by changing > how agressive shrinkers are on small caches in commit 172b06c32b94 ("mm: > slowly shrink slabs with a relatively small number of objects"). It > creates more problems than it solves, wasn't adequately reviewed or > tested, so it needs to be reverted. > > Link: http://lkml.kernel.org/r/20190130041707.27750-2-david@xxxxxxxxxxxxx > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > Cc: Roman Gushchin <guro@xxxxxx> > Cc: Spock <dairinin@xxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > > --- a/fs/inode.c~revert-mm-dont-reclaim-inodes-with-many-attached-pages > +++ a/fs/inode.c > @@ -730,11 +730,8 @@ static enum lru_status inode_lru_isolate > return LRU_REMOVED; > } > > - /* > - * Recently referenced inodes and inodes with many attached pages > - * get one more pass. > - */ > - if (inode->i_state & I_REFERENCED || inode->i_data.nrpages > 1) { > + /* recently referenced inodes get one more pass */ > + if (inode->i_state & I_REFERENCED) { > inode->i_state &= ~I_REFERENCED; > spin_unlock(&inode->i_lock); > return LRU_ROTATE; > _ > > Patches currently in -mm which might be from dchinner@xxxxxxxxxx are > > revert-mm-dont-reclaim-inodes-with-many-attached-pages.patch > revert-mm-slowly-shrink-slabs-with-a-relatively-small-number-of-objects.patch >