+ mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     mm: remove VM_LOCKED before remap_pfn_range and drop VM_SHM

has been added to the -mm tree.  Its filename is

     mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: mm: remove VM_LOCKED before remap_pfn_range and drop VM_SHM
From: Christoph Lameter <clameter@xxxxxxx>


Remove VM_LOCKED before remap_pfn range from device drivers and get rid of
VM_SHM.

remap_pfn_range() already sets VM_IO.  There is no need to set VM_SHM since
it does nothing.  VM_LOCKED is of no use since the remap_pfn_range does not
place pages on the LRU.  The pages are therefore never subject to swap
anyways.  Remove all the vm_flags settings before calling remap_pfn_range.

After removing all the vm_flag settings no use of VM_SHM is left.  Drop it.

Signed-off-by: Christoph Lameter <clameter@xxxxxxx>
Acked-by: Hugh Dickins <hugh@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/arm/kernel/bios32.c              |    1 -
 arch/cris/arch-v32/drivers/pci/bios.c |    2 --
 arch/i386/pci/i386.c                  |    2 --
 arch/ia64/pci/pci.c                   |    3 ---
 arch/powerpc/kernel/pci_32.c          |    1 -
 arch/powerpc/kernel/pci_64.c          |    1 -
 arch/powerpc/kernel/proc_ppc64.c      |    2 --
 arch/ppc/kernel/pci.c                 |    1 -
 arch/xtensa/kernel/pci.c              |   12 ------------
 drivers/char/mmtimer.c                |    1 -
 drivers/sbus/char/flash.c             |    1 -
 drivers/sbus/char/vfc_dev.c           |    2 +-
 drivers/video/igafb.c                 |    3 ---
 include/linux/mm.h                    |    1 -
 14 files changed, 1 insertion(+), 32 deletions(-)

diff -puN arch/arm/kernel/bios32.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/arm/kernel/bios32.c
--- 25/arch/arm/kernel/bios32.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/arm/kernel/bios32.c	Wed May 24 14:14:14 2006
@@ -702,7 +702,6 @@ int pci_mmap_page_range(struct pci_dev *
 	/*
 	 * Mark this as IO
 	 */
-	vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
 	vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
 
 	if (remap_pfn_range(vma, vma->vm_start, phys,
diff -puN arch/cris/arch-v32/drivers/pci/bios.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/cris/arch-v32/drivers/pci/bios.c
--- 25/arch/cris/arch-v32/drivers/pci/bios.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/cris/arch-v32/drivers/pci/bios.c	Wed May 24 14:14:14 2006
@@ -27,8 +27,6 @@ int pci_mmap_page_range(struct pci_dev *
 	/* Leave vm_pgoff as-is, the PCI space address is the physical
 	 * address on this platform.
 	 */
-	vma->vm_flags |= (VM_SHM | VM_LOCKED | VM_IO);
-
 	prot = pgprot_val(vma->vm_page_prot);
 	vma->vm_page_prot = __pgprot(prot);
 
diff -puN arch/i386/pci/i386.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/i386/pci/i386.c
--- 25/arch/i386/pci/i386.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/i386/pci/i386.c	Wed May 24 14:14:14 2006
@@ -276,8 +276,6 @@ int pci_mmap_page_range(struct pci_dev *
 	/* Leave vm_pgoff as-is, the PCI space address is the physical
 	 * address on this platform.
 	 */
-	vma->vm_flags |= (VM_SHM | VM_LOCKED | VM_IO);
-
 	prot = pgprot_val(vma->vm_page_prot);
 	if (boot_cpu_data.x86 > 3)
 		prot |= _PAGE_PCD | _PAGE_PWT;
diff -puN arch/ia64/pci/pci.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/ia64/pci/pci.c
--- 25/arch/ia64/pci/pci.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/ia64/pci/pci.c	Wed May 24 14:14:14 2006
@@ -602,8 +602,6 @@ pci_mmap_page_range (struct pci_dev *dev
 	 * Leave vm_pgoff as-is, the PCI space address is the physical
 	 * address on this platform.
 	 */
-	vma->vm_flags |= (VM_SHM | VM_RESERVED | VM_IO);
-
 	if (write_combine && efi_range_is_wc(vma->vm_start,
 					     vma->vm_end - vma->vm_start))
 		vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
@@ -666,7 +664,6 @@ pci_mmap_legacy_page_range(struct pci_bu
 
 	vma->vm_pgoff += (unsigned long)addr >> PAGE_SHIFT;
 	vma->vm_page_prot = prot;
-	vma->vm_flags |= (VM_SHM | VM_RESERVED | VM_IO);
 
 	if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
 			    size, vma->vm_page_prot))
diff -puN arch/powerpc/kernel/pci_32.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/powerpc/kernel/pci_32.c
--- 25/arch/powerpc/kernel/pci_32.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/powerpc/kernel/pci_32.c	Wed May 24 14:14:14 2006
@@ -1654,7 +1654,6 @@ int pci_mmap_page_range(struct pci_dev *
 		return -EINVAL;
 
 	vma->vm_pgoff = offset >> PAGE_SHIFT;
-	vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
 	vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp,
 						  vma->vm_page_prot,
 						  mmap_state, write_combine);
diff -puN arch/powerpc/kernel/pci_64.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/powerpc/kernel/pci_64.c
--- 25/arch/powerpc/kernel/pci_64.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/powerpc/kernel/pci_64.c	Wed May 24 14:14:14 2006
@@ -875,7 +875,6 @@ int pci_mmap_page_range(struct pci_dev *
 		return -EINVAL;
 
 	vma->vm_pgoff = offset >> PAGE_SHIFT;
-	vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
 	vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp,
 						  vma->vm_page_prot,
 						  mmap_state, write_combine);
diff -puN arch/powerpc/kernel/proc_ppc64.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/powerpc/kernel/proc_ppc64.c
--- 25/arch/powerpc/kernel/proc_ppc64.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/powerpc/kernel/proc_ppc64.c	Wed May 24 14:14:14 2006
@@ -115,8 +115,6 @@ static int page_map_mmap( struct file *f
 {
 	struct proc_dir_entry *dp = PDE(file->f_dentry->d_inode);
 
-	vma->vm_flags |= VM_SHM | VM_LOCKED;
-
 	if ((vma->vm_end - vma->vm_start) > dp->size)
 		return -EINVAL;
 
diff -puN arch/ppc/kernel/pci.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/ppc/kernel/pci.c
--- 25/arch/ppc/kernel/pci.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/ppc/kernel/pci.c	Wed May 24 14:14:14 2006
@@ -1040,7 +1040,6 @@ int pci_mmap_page_range(struct pci_dev *
 		return -EINVAL;
 
 	vma->vm_pgoff = offset >> PAGE_SHIFT;
-	vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
 	vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp,
 						  vma->vm_page_prot,
 						  mmap_state, write_combine);
diff -puN arch/xtensa/kernel/pci.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm arch/xtensa/kernel/pci.c
--- 25/arch/xtensa/kernel/pci.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/arch/xtensa/kernel/pci.c	Wed May 24 14:14:14 2006
@@ -350,17 +350,6 @@ __pci_mmap_make_offset(struct pci_dev *d
 }
 
 /*
- * Set vm_flags of VMA, as appropriate for this architecture, for a pci device
- * mapping.
- */
-static __inline__ void
-__pci_mmap_set_flags(struct pci_dev *dev, struct vm_area_struct *vma,
-		     enum pci_mmap_state mmap_state)
-{
-	vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
-}
-
-/*
  * Set vm_page_prot of VMA, as appropriate for this architecture, for a pci
  * device mapping.
  */
@@ -399,7 +388,6 @@ int pci_mmap_page_range(struct pci_dev *
 	if (ret < 0)
 		return ret;
 
-	__pci_mmap_set_flags(dev, vma, mmap_state);
 	__pci_mmap_set_pgprot(dev, vma, mmap_state, write_combine);
 
 	ret = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
diff -puN drivers/char/mmtimer.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm drivers/char/mmtimer.c
--- 25/drivers/char/mmtimer.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/drivers/char/mmtimer.c	Wed May 24 14:14:14 2006
@@ -329,7 +329,6 @@ static int mmtimer_mmap(struct file *fil
 	if (PAGE_SIZE > (1 << 16))
 		return -ENOSYS;
 
-	vma->vm_flags |= (VM_IO | VM_SHM | VM_LOCKED );
 	vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
 
 	mmtimer_addr = __pa(RTC_COUNTER_ADDR);
diff -puN drivers/sbus/char/flash.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm drivers/sbus/char/flash.c
--- 25/drivers/sbus/char/flash.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/drivers/sbus/char/flash.c	Wed May 24 14:14:14 2006
@@ -71,7 +71,6 @@ flash_mmap(struct file *file, struct vm_
 	if (vma->vm_end - (vma->vm_start + (vma->vm_pgoff << PAGE_SHIFT)) > size)
 		size = vma->vm_end - (vma->vm_start + (vma->vm_pgoff << PAGE_SHIFT));
 
-	vma->vm_flags |= (VM_SHM | VM_LOCKED);
 	vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
 
 	if (io_remap_pfn_range(vma, vma->vm_start, addr, size, vma->vm_page_prot))
diff -puN drivers/sbus/char/vfc_dev.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm drivers/sbus/char/vfc_dev.c
--- 25/drivers/sbus/char/vfc_dev.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/drivers/sbus/char/vfc_dev.c	Wed May 24 14:14:14 2006
@@ -623,7 +623,7 @@ static int vfc_mmap(struct file *file, s
 		map_size = sizeof(struct vfc_regs);
 
 	vma->vm_flags |=
-		(VM_SHM | VM_LOCKED | VM_IO | VM_MAYREAD | VM_MAYWRITE | VM_MAYSHARE);
+		(VM_MAYREAD | VM_MAYWRITE | VM_MAYSHARE);
 	map_offset = (unsigned int) (long)dev->phys_regs;
 	ret = io_remap_pfn_range(vma, vma->vm_start,
 				  MK_IOSPACE_PFN(dev->which_io,
diff -puN drivers/video/igafb.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm drivers/video/igafb.c
--- 25/drivers/video/igafb.c~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/drivers/video/igafb.c	Wed May 24 14:14:14 2006
@@ -232,9 +232,6 @@ static int igafb_mmap(struct fb_info *in
 
 	size = vma->vm_end - vma->vm_start;
 
-	/* To stop the swapper from even considering these pages. */
-	vma->vm_flags |= (VM_SHM | VM_LOCKED);
-
 	/* Each page, see which map applies */
 	for (page = 0; page < size; ) {
 		map_size = 0;
diff -puN include/linux/mm.h~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm include/linux/mm.h
--- 25/include/linux/mm.h~mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm	Wed May 24 14:14:14 2006
+++ 25-akpm/include/linux/mm.h	Wed May 24 14:14:14 2006
@@ -145,7 +145,6 @@ extern unsigned int kobjsize(const void 
 
 #define VM_GROWSDOWN	0x00000100	/* general info on the segment */
 #define VM_GROWSUP	0x00000200
-#define VM_SHM		0x00000000	/* Means nothing: delete it later */
 #define VM_PFNMAP	0x00000400	/* Page-ranges managed without "struct page", just pure PFN */
 #define VM_DENYWRITE	0x00000800	/* ETXTBSY on write attempts.. */
 
_

Patches currently in -mm which might be from clameter@xxxxxxx are

origin.patch
page-migration-make-do_swap_page-redo-the-fault.patch
slab-extract-cache_free_alien-from-__cache_free.patch
migration-remove-unnecessary-pageswapcache-checks.patch
page-migration-cleanup-rename-ignrefs-to-migration.patch
page-migration-cleanup-group-functions.patch
page-migration-cleanup-remove-useless-definitions.patch
page-migration-cleanup-drop-nr_refs-in-remove_references.patch
page-migration-cleanup-extract-try_to_unmap-from-migration-functions.patch
page-migration-cleanup-extract-try_to_unmap-from-migration-functions-update-comments-7.patch
page-migration-cleanup-pass-mapping-to-migration-functions.patch
page-migration-cleanup-move-fallback-handling-into-special-function.patch
page-migration-cleanup-move-fallback-handling-into-special-function-update-comments-9.patch
swapless-pm-add-r-w-migration-entries.patch
swapless-pm-add-r-w-migration-entries-ifdefs.patch
swapless-pm-add-r-w-migration-entries-update-comments.patch
swapless-pm-add-r-w-migration-entries-update-comments-4.patch
swapless-pm-add-r-w-migration-entries-update-comments-6.patch
swapless-page-migration-rip-out-swap-based-logic.patch
swapless-page-migration-modify-core-logic.patch
swapless-page-migration-modify-core-logic-remove-useless-mapping-checks.patch
more-page-migration-do-not-inc-dec-rss-counters.patch
more-page-migration-use-migration-entries-for-file-pages.patch
more-page-migration-use-migration-entries-for-file-pages-fix.patch
more-page-migration-use-migration-entries-for-file-pages-update-comments-5.patch
more-page-migration-use-migration-entries-for-file-pages-update-comments-8.patch
more-page-migration-use-migration-entries-for-file-pages-remove_migration_ptes.patch
more-page-migration-use-migration-entries-for-file-pages-replace-call-to-pageout-with-writepage-2.patch
page-migration-update-documentation.patch
mm-remove-vm_locked-before-remap_pfn_range-and-drop-vm_shm.patch
page-migration-simplify-migrate_pages.patch
page-migration-simplify-migrate_pages-tweaks.patch
page-migration-handle-freeing-of-pages-in-migrate_pages.patch
page-migration-use-allocator-function-for-migrate_pages.patch
page-migration-support-moving-of-individual-pages.patch
page-migration-detailed-status-for-moving-of-individual-pages.patch
page-migration-support-moving-of-individual-pages-fixes.patch
page-migration-support-moving-of-individual-pages-x86_64-support.patch
page-migration-support-moving-of-individual-pages-x86-support.patch
page-migration-support-a-vma-migration-function.patch
cpuset-remove-extra-cpuset_zone_allowed-check-in-__alloc_pages.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux