mm: re-architect the VM_UNPAGED logic
This replaces the (in my opinion horrible) VM_UNMAPPED logic with very
explicit support for a "remapped page range" aka VM_PFNMAP. It allows a
VM area to contain an arbitrary range of page table entries that the VM
never touches, and never considers to be normal pages.
Any user of "remap_pfn_range()" automatically gets this new
functionality, and doesn't even have to mark the pages reserved or
indeed mark them any other way. It just works. As a side effect, doing
mmap() on /dev/mem works for arbitrary ranges.
Sparc update from David in the next commit.
Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
Showing
- arch/powerpc/kernel/vdso.c 2 additions, 4 deletionsarch/powerpc/kernel/vdso.c
- drivers/char/mem.c 1 addition, 1 deletiondrivers/char/mem.c
- fs/proc/task_mmu.c 3 additions, 4 deletionsfs/proc/task_mmu.c
- include/linux/mm.h 3 additions, 2 deletionsinclude/linux/mm.h
- mm/fremap.c 7 additions, 15 deletionsmm/fremap.c
- mm/madvise.c 1 addition, 1 deletionmm/madvise.c
- mm/memory.c 100 additions, 89 deletionsmm/memory.c
- mm/mempolicy.c 4 additions, 8 deletionsmm/mempolicy.c
- mm/msync.c 3 additions, 9 deletionsmm/msync.c
- mm/nommu.c 1 addition, 1 deletionmm/nommu.c
- mm/rmap.c 2 additions, 12 deletionsmm/rmap.c
Loading
Please register or sign in to comment