History

mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening

CPU page table update can happens for many reasons, not only as a result of a syscall (munmap(), mprotect(), mremap(), madvise(), ...) but also as a result of kernel activities (memory compression, reclaim, migration, ...). Users of mmu notifier API track changes to the CPU page table and take specific action for them. While current API only provide range of virtual address affected by the change, not why the changes is happening This patch is just passing down the new informations by adding it to the mmu_notifier_range structure.

Jérôme Glisse committed 7 years ago

Commit bf198b21 parent 7269f991 file · +5 −1Browse files

Showing the changes to include/linux (1 of 1 file). Show all

Unified · Split

include/linux/mmu_notifier.h+5−1
@@ -58,10 +58,12 @@ struct mmu_notifier_mm { · 57 unmodified lines
5858 #define MMU_NOTIFIER_RANGE_BLOCKABLE (1 << 0)
5959
6060 struct mmu_notifier_range {
61+ struct vm_area_struct *vma;
6162 struct mm_struct *mm;
6263 unsigned long start;
6364 unsigned long end;
6465 unsigned flags;
66+ enum mmu_notifier_event event;
6567 };
6668
6769 struct mmu_notifier_ops {
@@ -363,10 +365,12 @@ static inline void mmu_notifier_range_init(struct mmu_notifier_range *range, · 295 unmodified lines
363365 unsigned long start,
364366 unsigned long end)
365367 {
368+ range->vma = vma;
369+ range->event = event;
366370 range->mm = mm;
367371 range->start = start;
368372 range->end = end;
369− range->flags = 0;
373+ range->flags = flags;
370374 }
371375
372376 #define ptep_clear_flush_young_notify(__vma, __address, __ptep) \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t