Messages in this thread | | | Date | Tue, 14 Jul 2015 00:06:46 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [RFC v3 1/3] mm: add tracepoint for scanning pages |
| |
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@gmail.com> > Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> > Acked-by: Rik van Riel <riel@redhat.com> > --- > 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
| |