> On Sat 20-10-18 14:41:40, Spock wrote: > > Hello, > > > > I have a workload, which creates lots of cache pages. Before 4.18.15, > > the behavior was very stable: pagecache is constantly growing until it > > consumes all the free memory, and then kswapd is balancing it around > > low watermark. After 4.18.15, once in a while khugepaged is waking up > > and reclaims almost all the pages from pagecache, so there is always > > around 2G of 8G unused. THP is enabled only for madvise case and are > > not used. Spock, can you, please, check if the following patch solves the problem for you? Thank you! -- diff --git a/fs/inode.c b/fs/inode.c index 73432e64f874..63aca301a8bc 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -731,7 +731,7 @@ static enum lru_status inode_lru_isolate(struct list_head *item, } /* recently referenced inodes get one more pass */ - if (inode->i_state & I_REFERENCED) { + if (inode->i_state & I_REFERENCED || inode->i_data.nrpages > 1) { inode->i_state &= ~I_REFERENCED; spin_unlock(&inode->i_lock); return LRU_ROTATE;