* Dave Hansen (haveblue@us.ibm.com) wrote:Hrm, maybe both ? Knowing which page frame number has been swapped out is not always as relevant as knowing the page's virtual address (when it has one). Saving both the PFN and the page's virtual address could give us useful information when the page is not mapped. We face two possible approaches : either we save both the address and the pfn at each event and later have the information at once in the trace, or we instrument the kernel virtual addresses map/unmap operations and let the trace analyzer figure out the mappings. It is sometimes a big benefit traffic-wise to let the userspace tool do recreate the kernel structures from the traced information, but it involved specialized treatment in the userspace tools. If we chose this solution, we could simply save the PFN in the event, as you propose. Yep, I guess we could put useful markers beside the count_vm_events inline function calls. High level overview : We currently have a "LTTng statedump", which iterates on the mappings of all tasks at trace start time to dump them in the trace. We also instrument memory allocation/free. We therefore have much of the information needed to recreate the memory mappings in the kernel at any point during the trace by "replaying" the trace. Having the events that helps us to recreate it - precisely - efficiently - with a level of generality that should not break "too much" between kernel versions would be useful to us. Then we could start creating plugins in our userspace trace analysis tool to analyze fun stuff such as sources of memory fragmentation. Then coupling that with, eventually, performance counter, we could start doing really fun things with cache misses... It can also be useful to you guys to find our problems by adding ad-hoc instrumentation to the VM code when pinpointing the cause of a problem. Martin Bligh made interesting things applying a tracer to the vm, described in "Linux Kernel Debugging on Google-sized clusters" in OLS2007 proceedings. (https://ols2006.108.redhat.com/2007/Reprints/OLS2007-Proceedings-V1.pdf) Mathieu -- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 -
| Dave Hansen | [RFC][PATCH 0/4] kernel-based checkpoint restart |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Eric Paris | [RFC 0/5] [TALPA] Intro to a linux interface for on access scanning |
git: | |
| David Miller | Re: [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
