Re: vm lock contention reduction
From: Andrew Morton <hidden>
Date: 2002-07-07 03:47:54
Linus Torvalds wrote:
On Sat, 6 Jul 2002, Andrew Morton wrote:quoted
Martin is being bitten by the global invalidate more than by the lock. He increased the size of the kmap pool just to reduce the invalidate frequency and saw 40% speedups of some stuff. Those invalidates don't show up nicely on profiles.I'd like to enhance the profiling support a bit, to create some infrastructure for doing different kinds of profiles, not just the current timer-based one (and not just for the kernel). There's also the P4 native support for "event buffers" or whatever intel calls them, that allows profiling at a lower level by interrupting not for every event, but only when the hw buffer overflows. I haven't had much time to look at the oprofile thing, but what I _have_ seen has made me rather unhappy (especially the horrid system call tracking kludges). I'd rather have some generic hooks (a notion of a "profile buffer" and events that cause us to have to synchronize with it, like process switches, mmap/munmap - oprofile wants these too), and some generic helper routines for profiling (turn any eip into a "dentry + offset" pair together with ways to tag specific dentries as being "worthy" of profiling). Depending on the regular timer interrupt will never give good profiles, simply because it can't be NMI, but also because you then don't have the choice of using other counters (cache miss etc). oprofile does much of this, but in a damn ugly manner.
I pinged John about an oprofile merge just the other day actually. He agrees with you on the syscall table thing. I think he says that it could be cleaned up if oprofile was in the tree. Ditto the issue with mmap. I was able to isolate and fix some fairly hairy performance problems at work with oprofile. It's a great tool - I use it all the time. And it profiles the entire system - right down to file-n-line in some random shared object. With NMIs. It is not just a kernel tool. So. John. Get coding :-) - -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/