On Thu, Apr 12, 2007 at 09:23:45PM -0500, Matt Mackall wrote: > On Fri, Apr 13, 2007 at 12:21:25PM +1000, Nick Piggin wrote: > > Matt Mackall wrote: > > >On Fri, Apr 13, 2007 at 11:42:29AM +1000, Nick Piggin wrote: > > > > >>If kprobes is simply crappy and doesn't work properly for this, then I > > >>could accept that. I'm not someone trying to get this info. So why can't > > >>it be used? (not just for kpagemap, but for clear_refs and all that gunk > > >>too). > > > > > > > > >kprobes is good for looking at events, but bad for looking at state. > > >Especially metric shitloads of state. > > > > Why? Why is a kprobes trap significantly more expensive than a read > > syscall? > > I guess I'm not clear on what you're proposing. From my understanding > of kprobes (admittedly not an expert), this is hard to do and not a > very good match. > > > >>Maybe. How about LRU? Reclaim performance is bad, and you want to work out > > >>which pages keep going off the end of it, or which pages keep getting > > >>written out via it, or who's pages are on the active list, forcing mine > > >>out. > > > > > > > > >Those are actually probably a good match for systemtap as they're all > > >events. > > > > Traverse the LRU? Which files do they belong to? What process maps them? > > -ENOPARSE. >
For non-event based data gathering using kprobes we can have a debugfs file like /debug/kprobes/snapshot_probe and write a kprobe module with probe at ->write() function and then the user space can trigger the data collection echo "1" > /debug/kprobes/snapshot_probe Thus, the actual data collection code can reside in a separate module or a systemtap script which provides very good post-processing capabalities, and can be used without recompiling or rebooting the kernel. Thanks Maneesh -- Maneesh Soni Linux Technology Center, IBM India Systems and Technology Lab, Bangalore, India - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/