* Frank Kingswood <frank@kingswood-consulting.co.uk> wrote:
it is about multiple problems, _one_ problem is updatedb. The _second_
problem is large memory applications.
note that updatedb is not a "large memory application". It simply scans
through the filesystem and has pretty minimal memory footprint.
the _kernel_ ends up blowing up the dentry cache to a rather large size
(because it has no idea that updatedb uses every dentry only once).
Once we give the kernel the knowledge that the dentry wont be used again
by this app, the kernel can do a lot more intelligent decision and not
baloon the dentry cache.
( we _do_ want to baloon the dentry cache otherwise - for things like
"find" - having a fast VFS is important. But known-use-once things
like the daily updatedb job can clearly be annotated properly. )
the 'large memory apps' are a second category of problems. And those are
where swap-prefetch could indeed help. (as long as it only 'fills up'
the free memory that a large-memory-exit left behind it.)
the 'morning after' phenomenon that the majority of testers complained
about will likely be resolved by the updatedb change. The second
category is likely an improvement too, for swap-happy desktop (and
server) workloads.
Ingo
-