mm: kill vma flag VM_RESERVED and mm->reserved_vm counter
authorKonstantin Khlebnikov <khlebnikov@openvz.org>
Mon, 8 Oct 2012 23:29:02 +0000 (16:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 Oct 2012 07:22:19 +0000 (16:22 +0900)
commit314e51b9851b4f4e8ab302243ff5a6fc6147f379
treef757b89206355fd129830782566768693eed23ce
parent0103bd16fb90bc741c7a03fd1ea4e8a505abad23
mm: kill vma flag VM_RESERVED and mm->reserved_vm counter

A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
currently it lost original meaning but still has some effects:

 | effect                 | alternative flags
-+------------------------+---------------------------------------------
1| account as reserved_vm | VM_IO
2| skip in core dump      | VM_IO, VM_DONTDUMP
3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP

This patch removes reserved_vm counter from mm_struct.  Seems like nobody
cares about it, it does not exported into userspace directly, it only
reduces total_vm showed in proc.

Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.

remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.

[akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Carsten Otte <cotte@de.ibm.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Eric Paris <eparis@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Morris <james.l.morris@oracle.com>
Cc: Jason Baron <jbaron@redhat.com>
Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
Cc: Matt Helsley <matthltc@us.ibm.com>
Cc: Nick Piggin <npiggin@kernel.dk>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Robert Richter <robert.richter@amd.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Venkatesh Pallipadi <venki@google.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
70 files changed:
Documentation/vm/unevictable-lru.txt
arch/alpha/kernel/pci-sysfs.c
arch/ia64/kernel/perfmon.c
arch/ia64/mm/init.c
arch/powerpc/kvm/book3s_hv.c
arch/sparc/kernel/pci.c
arch/unicore32/kernel/process.c
arch/x86/xen/mmu.c
drivers/char/mbcs.c
drivers/char/mem.c
drivers/char/mspec.c
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/drm_vm.c
drivers/gpu/drm/exynos/exynos_drm_gem.c
drivers/gpu/drm/gma500/framebuffer.c
drivers/gpu/drm/ttm/ttm_bo_vm.c
drivers/gpu/drm/udl/udl_fb.c
drivers/infiniband/hw/ehca/ehca_uverbs.c
drivers/infiniband/hw/ipath/ipath_file_ops.c
drivers/infiniband/hw/qib/qib_file_ops.c
drivers/media/pci/meye/meye.c
drivers/media/platform/omap/omap_vout.c
drivers/media/platform/vino.c
drivers/media/usb/sn9c102/sn9c102_core.c
drivers/media/usb/usbvision/usbvision-video.c
drivers/media/v4l2-core/videobuf-dma-sg.c
drivers/media/v4l2-core/videobuf-vmalloc.c
drivers/media/v4l2-core/videobuf2-memops.c
drivers/misc/carma/carma-fpga.c
drivers/misc/sgi-gru/grufile.c
drivers/mtd/mtdchar.c
drivers/scsi/sg.c
drivers/staging/omapdrm/omap_gem_dmabuf.c
drivers/staging/tidspbridge/rmgr/drv_interface.c
drivers/uio/uio.c
drivers/usb/mon/mon_bin.c
drivers/video/68328fb.c
drivers/video/aty/atyfb_base.c
drivers/video/fb-puv3.c
drivers/video/fb_defio.c
drivers/video/fbmem.c
drivers/video/gbefb.c
drivers/video/omap2/omapfb/omapfb-main.c
drivers/video/sbuslib.c
drivers/video/smscufx.c
drivers/video/udlfb.c
drivers/video/vermilion/vermilion.c
drivers/video/vfb.c
drivers/xen/gntalloc.c
drivers/xen/gntdev.c
drivers/xen/privcmd.c
fs/binfmt_elf.c
fs/binfmt_elf_fdpic.c
fs/hugetlbfs/inode.c
fs/proc/task_mmu.c
include/linux/mempolicy.h
include/linux/mm.h
include/linux/mm_types.h
kernel/events/core.c
mm/ksm.c
mm/memory.c
mm/mlock.c
mm/mmap.c
mm/nommu.c
mm/vmalloc.c
security/selinux/selinuxfs.c
sound/core/pcm_native.c
sound/usb/usx2y/us122l.c
sound/usb/usx2y/usX2Yhwdep.c
sound/usb/usx2y/usx2yhwdeppcm.c