Skip to content
  • Jérôme Glisse's avatar
    mm/mmu_notifier: contextual information for event triggering invalidation v2 · 3675273a
    Jérôme Glisse authored
    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 patchset adds event information so that users of mmu notifier can
    differentiate among broad category:
        - UNMAP: munmap() or mremap()
        - CLEAR: page table is cleared (migration, compaction, reclaim, ...)
        - PROTECTION_VMA: change in access protections for the range
        - PROTECTION_PAGE: change in access protections for page in the range
        - SOFT_DIRTY: soft dirtyness tracking
    
    Being able to identify munmap() and mremap() from other reasons why the
    page table is cleared is important to allow user of mmu notifier to
    update their own internal tracking structure accordingly (on munmap or
    mremap it is not longer needed to track range of virtual address as it
    becomes invalid).
    
    Link: http://lkml.kernel.org/r/20181205053628.3210-4-jglisse@redhat.com
    
    
    Signed-off-by: default avatarJérôme Glisse <jglisse@redhat.com>
    Acked-by: default avatarChristian König <christian.koenig@amd.com>
    Cc: Matthew Wilcox <mawilcox@microsoft.com>
    Cc: Ross Zwisler <zwisler@kernel.org>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krcmar <rkrcmar@redhat.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Felix Kuehling <felix.kuehling@amd.com>
    Cc: Ralph Campbell <rcampbell@nvidia.com>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    3675273a