Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
kmem.h File Reference
#include <linux/types.h>
#include <linux/tracepoint.h>
#include <trace/events/gfpflags.h>
#include <trace/define_trace.h>

Go to the source code of this file.

Macros

#define TRACE_SYSTEM   kmem
 
#define _TRACE_KMEM_H
 

Functions

 DECLARE_EVENT_CLASS (kmem_alloc, TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags), TP_STRUCT__entry(__field(unsigned long, call_site) __field(const void *, ptr) __field(size_t, bytes_req) __field(size_t, bytes_alloc) __field(gfp_t, gfp_flags)), TP_fast_assign(__entry->call_site=call_site;__entry->ptr=ptr;__entry->bytes_req=bytes_req;__entry->bytes_alloc=bytes_alloc;__entry->gfp_flags=gfp_flags;), TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", __entry->call_site, __entry->ptr, __entry->bytes_req, __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags)))
 
 DEFINE_EVENT (kmem_alloc, kmalloc, TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags),)
 
 DEFINE_EVENT (kmem_alloc, kmem_cache_alloc, TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags),)
 
 DECLARE_EVENT_CLASS (kmem_alloc_node, TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags, int node), TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node), TP_STRUCT__entry(__field(unsigned long, call_site) __field(const void *, ptr) __field(size_t, bytes_req) __field(size_t, bytes_alloc) __field(gfp_t, gfp_flags) __field(int, node)), TP_fast_assign(__entry->call_site=call_site;__entry->ptr=ptr;__entry->bytes_req=bytes_req;__entry->bytes_alloc=bytes_alloc;__entry->gfp_flags=gfp_flags;__entry->node=node;), TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s node=%d", __entry->call_site, __entry->ptr, __entry->bytes_req, __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags), __entry->node))
 
 DEFINE_EVENT (kmem_alloc_node, kmalloc_node, TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags, int node),)
 
 DEFINE_EVENT (kmem_alloc_node, kmem_cache_alloc_node, TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags, int node),)
 
 DECLARE_EVENT_CLASS (kmem_free, TP_PROTO(unsigned long call_site, const void *ptr), TP_ARGS(call_site, ptr), TP_STRUCT__entry(__field(unsigned long, call_site) __field(const void *, ptr)), TP_fast_assign(__entry->call_site=call_site;__entry->ptr=ptr;), TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr))
 
 DEFINE_EVENT (kmem_free, kfree, TP_PROTO(unsigned long call_site, const void *ptr),)
 
 DEFINE_EVENT (kmem_free, kmem_cache_free, TP_PROTO(unsigned long call_site, const void *ptr),)
 
 TRACE_EVENT (mm_page_free, TP_PROTO(struct page *page, unsigned int order), TP_ARGS(page, order), TP_STRUCT__entry(__field(struct page *, page) __field(unsigned int, order)), TP_fast_assign(__entry->page=page;__entry->order=order;), TP_printk("page=%p pfn=%lu order=%d", __entry->page, page_to_pfn(__entry->page), __entry->order))
 
 TRACE_EVENT (mm_page_free_batched, TP_PROTO(struct page *page, int cold), TP_ARGS(page, cold), TP_STRUCT__entry(__field(struct page *, page) __field(int, cold)), TP_fast_assign(__entry->page=page;__entry->cold=cold;), TP_printk("page=%p pfn=%lu order=0 cold=%d", __entry->page, page_to_pfn(__entry->page), __entry->cold))
 
 TRACE_EVENT (mm_page_alloc, TP_PROTO(struct page *page, unsigned int order, gfp_t gfp_flags, int migratetype), TP_ARGS(page, order, gfp_flags, migratetype), TP_STRUCT__entry(__field(struct page *, page) __field(unsigned int, order) __field(gfp_t, gfp_flags) __field(int, migratetype)), TP_fast_assign(__entry->page=page;__entry->order=order;__entry->gfp_flags=gfp_flags;__entry->migratetype=migratetype;), TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s", __entry->page, __entry->page?page_to_pfn(__entry->page):0, __entry->order, __entry->migratetype, show_gfp_flags(__entry->gfp_flags)))
 
 DECLARE_EVENT_CLASS (mm_page, TP_PROTO(struct page *page, unsigned int order, int migratetype), TP_ARGS(page, order, migratetype), TP_STRUCT__entry(__field(struct page *, page) __field(unsigned int, order) __field(int, migratetype)), TP_fast_assign(__entry->page=page;__entry->order=order;__entry->migratetype=migratetype;), TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d", __entry->page, __entry->page?page_to_pfn(__entry->page):0, __entry->order, __entry->migratetype, __entry->order==0))
 
 DEFINE_EVENT (mm_page, mm_page_alloc_zone_locked, TP_PROTO(struct page *page, unsigned int order, int migratetype),)
 
 DEFINE_EVENT_PRINT (mm_page, mm_page_pcpu_drain, TP_PROTO(struct page *page, unsigned int order, int migratetype), TP_ARGS(page, order, migratetype), TP_printk("page=%p pfn=%lu order=%d migratetype=%d", __entry->page, page_to_pfn(__entry->page), __entry->order, __entry->migratetype))
 
 TRACE_EVENT (mm_page_alloc_extfrag, TP_PROTO(struct page *page, int alloc_order, int fallback_order, int alloc_migratetype, int fallback_migratetype), TP_ARGS(page, alloc_order, fallback_order, alloc_migratetype, fallback_migratetype), TP_STRUCT__entry(__field(struct page *, page) __field(int, alloc_order) __field(int, fallback_order) __field(int, alloc_migratetype) __field(int, fallback_migratetype)), TP_fast_assign(__entry->page=page;__entry->alloc_order=alloc_order;__entry->fallback_order=fallback_order;__entry->alloc_migratetype=alloc_migratetype;__entry->fallback_migratetype=fallback_migratetype;), TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d", __entry->page, page_to_pfn(__entry->page), __entry->alloc_order, __entry->fallback_order, pageblock_order, __entry->alloc_migratetype, __entry->fallback_migratetype, __entry->fallback_order< pageblock_order, __entry->alloc_migratetype==__entry->fallback_migratetype))
 

Macro Definition Documentation

#define _TRACE_KMEM_H

Definition at line 5 of file kmem.h.

#define TRACE_SYSTEM   kmem

Definition at line 2 of file kmem.h.

Function Documentation

DECLARE_EVENT_CLASS ( kmem_alloc  ,
TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags)  ,
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags)  ,
TP_STRUCT__entry(__field(unsigned long, call_site) __field(const void *, ptr) __field(size_t, bytes_req) __field(size_t, bytes_alloc) __field(gfp_t, gfp_flags))  ,
TP_fast_assign(__entry->call_site=call_site;__entry->ptr=ptr;__entry->bytes_req=bytes_req;__entry->bytes_alloc=bytes_alloc;__entry->gfp_flags=gfp_flags;)  ,
TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", __entry->call_site, __entry->ptr, __entry->bytes_req, __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags))   
)
DECLARE_EVENT_CLASS ( kmem_alloc_node  ,
TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags, int node ,
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node ,
TP_STRUCT__entry(__field(unsigned long, call_site) __field(const void *, ptr) __field(size_t, bytes_req) __field(size_t, bytes_alloc) __field(gfp_t, gfp_flags) __field(int, node))  ,
TP_fast_assign(__entry->call_site=call_site;__entry->ptr=ptr;__entry->bytes_req=bytes_req;__entry->bytes_alloc=bytes_alloc;__entry->gfp_flags=gfp_flags;__entry->node=node;)  ,
TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s node=%d", __entry->call_site, __entry->ptr, __entry->bytes_req, __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags), __entry->node  
)
DECLARE_EVENT_CLASS ( kmem_free  ,
TP_PROTO(unsigned long call_site, const void *ptr ,
TP_ARGS(call_site, ptr ,
TP_STRUCT__entry(__field(unsigned long, call_site) __field(const void *, ptr))  ,
TP_fast_assign(__entry->call_site=call_site;__entry->ptr=ptr;)  ,
TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr  
)
DECLARE_EVENT_CLASS ( mm_page  ,
TP_PROTO(struct page *page, unsigned int order, int migratetype)  ,
TP_ARGS(page, order, migratetype)  ,
TP_STRUCT__entry(__field(struct page *, page) __field(unsigned int, order) __field(int, migratetype))  ,
TP_fast_assign(__entry->page=page;__entry->order=order;__entry->migratetype=migratetype;)  ,
TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d", __entry->page, __entry->page?page_to_pfn(__entry->page):0, __entry->order, __entry->migratetype, __entry->order==0)   
)
DEFINE_EVENT ( kmem_alloc  ,
kmalloc  ,
TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags)   
)
DEFINE_EVENT ( kmem_alloc  ,
kmem_cache_alloc  ,
TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags)   
)
DEFINE_EVENT ( kmem_alloc_node  ,
kmalloc_node  ,
TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags, int node  
)
DEFINE_EVENT ( kmem_alloc_node  ,
kmem_cache_alloc_node  ,
TP_PROTO(unsigned long call_site, const void *ptr, size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags, int node  
)
DEFINE_EVENT ( kmem_free  ,
kfree  ,
TP_PROTO(unsigned long call_site, const void *ptr  
)
DEFINE_EVENT ( kmem_free  ,
kmem_cache_free  ,
TP_PROTO(unsigned long call_site, const void *ptr  
)
DEFINE_EVENT ( mm_page  ,
mm_page_alloc_zone_locked  ,
TP_PROTO(struct page *page, unsigned int order, int migratetype)   
)
DEFINE_EVENT_PRINT ( mm_page  ,
mm_page_pcpu_drain  ,
TP_PROTO(struct page *page, unsigned int order, int migratetype)  ,
TP_ARGS(page, order, migratetype)  ,
TP_printk("page=%p pfn=%lu order=%d migratetype=%d", __entry->page, page_to_pfn(__entry->page), __entry->order, __entry->migratetype)   
)
TRACE_EVENT ( mm_page_free  ,
TP_PROTO(struct page *page, unsigned int order ,
TP_ARGS(page, order ,
TP_STRUCT__entry(__field(struct page *, page) __field(unsigned int, order))  ,
TP_fast_assign(__entry->page=page;__entry->order=order;)  ,
TP_printk("page=%p pfn=%lu order=%d", __entry->page, page_to_pfn(__entry->page), __entry->order  
)
TRACE_EVENT ( mm_page_free_batched  ,
TP_PROTO(struct page *page, int cold)  ,
TP_ARGS(page, cold)  ,
TP_STRUCT__entry(__field(struct page *, page) __field(int, cold))  ,
TP_fast_assign(__entry->page=page;__entry->cold=cold;)  ,
TP_printk("page=%p pfn=%lu order=0 cold=%d", __entry->page, page_to_pfn(__entry->page), __entry->cold)   
)
TRACE_EVENT ( mm_page_alloc  ,
TP_PROTO(struct page *page, unsigned int order, gfp_t gfp_flags, int migratetype)  ,
TP_ARGS(page, order, gfp_flags, migratetype)  ,
TP_STRUCT__entry(__field(struct page *, page) __field(unsigned int, order) __field(gfp_t, gfp_flags) __field(int, migratetype))  ,
TP_fast_assign(__entry->page=page;__entry->order=order;__entry->gfp_flags=gfp_flags;__entry->migratetype=migratetype;)  ,
TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s", __entry->page, __entry->page?page_to_pfn(__entry->page):0, __entry->order, __entry->migratetype, show_gfp_flags(__entry->gfp_flags))   
)
TRACE_EVENT ( mm_page_alloc_extfrag  ,
TP_PROTO(struct page *page, int alloc_order, int fallback_order, int alloc_migratetype, int fallback_migratetype)  ,
TP_ARGS(page, alloc_order, fallback_order, alloc_migratetype, fallback_migratetype)  ,
TP_STRUCT__entry(__field(struct page *, page) __field(int, alloc_order) __field(int, fallback_order) __field(int, alloc_migratetype) __field(int, fallback_migratetype))  ,
TP_fast_assign(__entry->page=page;__entry->alloc_order=alloc_order;__entry->fallback_order=fallback_order;__entry->alloc_migratetype=alloc_migratetype;__entry->fallback_migratetype=fallback_migratetype;)  ,
TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d", __entry->page, page_to_pfn(__entry->page), __entry->alloc_order, __entry->fallback_order, pageblock_order, __entry->alloc_migratetype, __entry->fallback_migratetype, __entry->fallback_order< pageblock_order, __entry->alloc_migratetype==__entry->fallback_migratetype)   
)