On Wed, Jul 20, 2022 at 04:02:04PM +0100, Matthew Wilcox wrote: > On Wed, Jul 20, 2022 at 06:02:32AM +0000, CGEL wrote: > > On Wed, Jul 20, 2022 at 04:02:40AM +0100, Matthew Wilcox wrote: > > > On Wed, Jul 20, 2022 at 02:21:19AM +0000, cgel.zte@xxxxxxxxx wrote: > > > > From: Yang Yang <yang.yang29@xxxxxxxxxx> > > > > > > > > Pagecache of some kind of fs has PG_dirty bit set once it was > > > > allocated, so it can't be dropped. These fs include ramfs and > > > > tmpfs. This can make drop_pagecache_sb() more efficient. > > > > > > Why do we want to make drop_pagecache_sb() more efficient? > > > > Some users may use drop_caches besides testing or debugging. > > This is a terrible reason. > Another case that may use drop_caches: "Migration of virtual machines will go faster if there are fewer pages to copy, so administrators would like to be able to force a virtual machine to reclaim as much memory as possible before the migration begins. " See https://lwn.net/Articles/894849/ > > For example, some systems will create a lot of pagecache when boot up > > while reading bzImage, ramdisk, docker images etc. Most of this pagecache > > is useless after boot up. It may has a longterm negative effects for the > > workload when trigger page reclaim. It is especially harmful when trigger > > direct_reclaim or we need allocate pages in atomic context. So users may > > chose to drop_caches after boot up. > > If that's actually a problem, work on fixing that.