struct mm_struct;
struct vm_area_struct;
+/**
+ * __vma_mt_erase - called to erase an entry from the mm_mt
+ *
+ * @mm: the mm_struct which contains the mt
+ * @vma: the vma that is to be erased.
+ *
+ */
TRACE_EVENT(__vma_mt_erase,
TP_PROTO(struct mm_struct *mm, struct vm_area_struct *vma),
__entry->vm_end = vma->vm_end - 1;
),
- TP_printk("mt_mod %p, (%p), ERASE, %lu, %lu\n",
+ TP_printk("mt_mod %p, (%p), ERASE, %lu, %lu",
__entry->mm, __entry->vma,
(unsigned long) __entry->vm_start,
(unsigned long) __entry->vm_end
)
);
+/**
+ * __vma_mt_szero - Called to set a range to NULL in the mm_mt
+ *
+ */
TRACE_EVENT(__vma_mt_szero,
TP_PROTO(struct mm_struct *mm, unsigned long start,
unsigned long end),
__entry->end = end - 1;
),
- TP_printk("mt_mod %p, (NULL), SNULL, %lu, %lu\n",
+ TP_printk("mt_mod %p, (NULL), SNULL, %lu, %lu",
__entry->mm,
(unsigned long) __entry->start,
(unsigned long) __entry->end
__entry->vm_end = vma->vm_end - 1;
),
- TP_printk("mt_mod %p, (%p), STORE, %lu, %lu\n",
+ TP_printk("mt_mod %p, (%p), STORE, %lu, %lu",
__entry->mm, __entry->vma,
(unsigned long) __entry->vm_start,
(unsigned long) __entry->vm_end - 1
}
static void __vma_mt_erase(struct mm_struct *mm, struct vm_area_struct *vma)
{
+ trace___vma_mt_erase(mm, vma);
+ printk("mt_mod %px, (%px), ERASE, %lu, %lu", mm, vma, vma->vm_start,
+ vma->vm_end);
mtree_erase(&mm->mm_mt, vma->vm_start);
mt_validate(&mm->mm_mt);
}
static void __vma_mt_szero(struct mm_struct *mm, unsigned long start,
unsigned long end)
{
+ printk("mt_mod %px, (NULL), SNULL, %lu, %lu", mm, start,
+ end);
+ trace___vma_mt_szero(mm, start, end);
mtree_store_range(&mm->mm_mt, start, end - 1, NULL, GFP_KERNEL);
}
static void __vma_mt_store(struct mm_struct *mm, struct vm_area_struct *vma)
{
+ trace___vma_mt_store(mm, vma);
+ printk("mt_mod %px, (%px), STORE, %lu, %lu", mm, vma, vma->vm_start,
+ vma->vm_end);
mtree_store_range(&mm->mm_mt, vma->vm_start, vma->vm_end - 1, vma,
GFP_KERNEL);
mt_validate(&mm->mm_mt);