On Fri, Apr 13, 2007 at 12:50:20PM +1000, Nick Piggin wrote: > Andrew Morton wrote: > >On Fri, 13 Apr 2007 12:18:56 +1000 Nick Piggin <[EMAIL PROTECTED]> > >wrote: > > > > > >>>I guess one could generate an answer to the static question with > >>>systemtap, > >>>by accumulating running counts across the application lifetime and then > >>>snapshotting them. Sounds hard though. > >> > >>Can't you just traverse arbitrary kernel data structures at a given point > >>in time, exactly like the /proc/ call is doing? > > > > > >Do a full pagetable walk, with all the associated locking from within > >a systemtap script? I'd be surprised. Maybe if it's mostly hand-coded > >in C, perhaps. > > It looks like you can traverse arbitrary data structures, yes. > > It definitely seems like you can use some kernel functions, but the > ones I saw may just be systemtap facilities. But what is so surprising > about being able to call a kernel function when running in kernel > context? Perhaps there is some fundamental limitation of kprobes that > I don't understand.
The main requirement for kprobes handlers is that they can't sleep. You could definitely call a kernel function from kprobe handlers as long as the function doesn't sleep. Ananth - 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/