From: Cédric Villemain on 7 May 2010 18:50 2010/2/21 Andy Isaacson <adi(a)hexapodia.org>: > On Tue, Feb 16, 2010 at 10:13:12AM -0800, Chris Frost wrote: >> Add the fincore() system call. fincore() is mincore() for file descriptors. >> >> The functionality of fincore() can be emulated with an mmap(), mincore(), >> and munmap(), but this emulation requires more system calls and requires >> page table modifications. fincore() can provide a significant performance >> improvement for non-sequential in-core queries. > > In addition to being expensive, mmap/mincore/munmap perturb the VM's > eviction algorithm -- a page is less likely to be evicted if it's > mmapped when being considered for eviction. > > I frequently see this happen when using mincore(1) from > http://bitbucket.org/radii/mincore/ -- "watch mincore -v *.big" while > *.big are being sequentially read results in a significant number of > pages remaining in-core, whereas if I only run mincore after the > sequential read is complete, the large files will be nearly-completely > out of core (except for the tail of the last file, of course). > > It's very interesting to watch > % watch --interval=.5 mincore -v * > > while an IO-intensive process is happening, such as mke2fs on a > filesystem image. > > So, I support the addition of fincore(2) and would use it if it were > merged. I wonder what the actual state is for this proposition? I'd like to see fincore(2) added too... > > -andy > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo(a)vger.kernel.org > More majordomo info at �http://vger.kernel.org/majordomo-info.html > -- C�dric Villemain -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: [tip:x86/mrst] x86: Avoid check hlt for newer cpus Next: RFC - Cleaned up hypervisor layer |