On Mon, Jul 13, 2015 at 11:28:02PM +0300, Ebru Akagunduz wrote: > Using static tracepoints, data of functions is recorded. > It is good to automatize debugging without doing a lot > of changes in the source code. > > This patch adds tracepoint for khugepaged_scan_pmd, > collapse_huge_page and __collapse_huge_page_isolate. > > Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> > Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > Acked-by: Rik van Riel <riel@xxxxxxxxxx> > --- > Changes in v2: > - Nothing changed > > Changes in v3: > - Print page address instead of vm_start (Vlastimil Babka) > - Define constants to specify exact tracepoint result (Vlastimil Babka) > > > include/linux/mm.h | 18 ++++++ > include/trace/events/huge_memory.h | 100 ++++++++++++++++++++++++++++++++ > mm/huge_memory.c | 114 +++++++++++++++++++++++++++---------- > 3 files changed, 203 insertions(+), 29 deletions(-) > create mode 100644 include/trace/events/huge_memory.h > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 7f47178..bf341c0 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -21,6 +21,24 @@ > #include <linux/resource.h> > #include <linux/page_ext.h> > > +#define MM_PMD_NULL 0 > +#define MM_EXCEED_NONE_PTE 3 > +#define MM_PTE_NON_PRESENT 4 > +#define MM_PAGE_NULL 5 > +#define MM_SCAN_ABORT 6 > +#define MM_PAGE_COUNT 7 > +#define MM_PAGE_LRU 8 > +#define MM_ANY_PROCESS 0 > +#define MM_VMA_NULL 2 > +#define MM_VMA_CHECK 3 > +#define MM_ADDRESS_RANGE 4 > +#define MM_PAGE_LOCK 2 > +#define MM_SWAP_CACHE_PAGE 6 > +#define MM_ISOLATE_LRU_PAGE 7 > +#define MM_ALLOC_HUGE_PAGE_FAIL 6 > +#define MM_CGROUP_CHARGE_FAIL 7 > +#define MM_COLLAPSE_ISOLATE_FAIL 5 > + These magic numbers looks very random. What's logic behind? -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>