On Tue, May 12, 2009 at 09:01:12PM +0800, Frederic Weisbecker wrote: > On Tue, Apr 28, 2009 at 09:31:08PM +0800, Wu Fengguang wrote: > > On Tue, Apr 28, 2009 at 08:17:51PM +0800, Ingo Molnar wrote: > > > > There are two possible challenges for the conversion: > > > > - One trick it does is to select different lists to traverse on > > different filter options. Will this be possible in the object > > tracing framework? > > Yeah, I guess. Great. > > > - The file name lookup(last field) is the performance killer. Is it > > possible to skip the file name lookup when the filter failed on the > > leading fields? > > objects collection lays on trace events where filters basically ignore > a whole entry in case of non-matching. Not sure if we can easily only > ignore one field. > > But I guess we can do something about the performances... OK, but it's not as important as the previous requirement, so it could be the last thing to work on :) > Could you send us the (sob'ed) patch you made which implements this. > I could try to adapt it to object collection. Attached for your reference. Be aware that I still have plans to change it in non trivial way, and there are ongoing works by Nick(on inode_lock) and Jens(on s_dirty) that can create merge conflicts. So basically it is not a right time to do the adaption. However we can still do something to polish up the page object collection under /debug/tracing/objects/mm/pages/. For example, the timestamps and function name could be removed from the following list :) # tracer: nop # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | <...>-3743 [001] 3035.649769: dump_pages: pfn=1 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176403: dump_pages: pfn=1 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176407: dump_pages: pfn=2 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176408: dump_pages: pfn=3 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176409: dump_pages: pfn=4 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176409: dump_pages: pfn=5 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176410: dump_pages: pfn=6 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176410: dump_pages: pfn=7 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176411: dump_pages: pfn=8 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176411: dump_pages: pfn=9 flags=400 count=1 mapcount=0 index=0 <...>-3743 [001] 3044.176412: dump_pages: pfn=10 flags=400 count=1 mapcount=0 index=0 Thanks, Fengguang