Commit 68402ddc677005ed1b1359bbc1f279548cfc0928

Authored by Christoph Lameter
Committed by Linus Torvalds
1 parent 9f1a3cfcff

[PATCH] mm: remove VM_LOCKED before remap_pfn_range and drop VM_SHM

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@sgi.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 14 changed files with 1 additions and 32 deletions Side-by-side Diff

arch/arm/kernel/bios32.c
... ... @@ -702,7 +702,6 @@
702 702 /*
703 703 * Mark this as IO
704 704 */
705   - vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
706 705 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
707 706  
708 707 if (remap_pfn_range(vma, vma->vm_start, phys,
arch/cris/arch-v32/drivers/pci/bios.c
... ... @@ -27,8 +27,6 @@
27 27 /* Leave vm_pgoff as-is, the PCI space address is the physical
28 28 * address on this platform.
29 29 */
30   - vma->vm_flags |= (VM_SHM | VM_LOCKED | VM_IO);
31   -
32 30 prot = pgprot_val(vma->vm_page_prot);
33 31 vma->vm_page_prot = __pgprot(prot);
34 32  
arch/i386/pci/i386.c
... ... @@ -285,8 +285,6 @@
285 285 /* Leave vm_pgoff as-is, the PCI space address is the physical
286 286 * address on this platform.
287 287 */
288   - vma->vm_flags |= (VM_SHM | VM_LOCKED | VM_IO);
289   -
290 288 prot = pgprot_val(vma->vm_page_prot);
291 289 if (boot_cpu_data.x86 > 3)
292 290 prot |= _PAGE_PCD | _PAGE_PWT;
... ... @@ -602,8 +602,6 @@
602 602 * Leave vm_pgoff as-is, the PCI space address is the physical
603 603 * address on this platform.
604 604 */
605   - vma->vm_flags |= (VM_SHM | VM_RESERVED | VM_IO);
606   -
607 605 if (write_combine && efi_range_is_wc(vma->vm_start,
608 606 vma->vm_end - vma->vm_start))
609 607 vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
... ... @@ -666,7 +664,6 @@
666 664  
667 665 vma->vm_pgoff += (unsigned long)addr >> PAGE_SHIFT;
668 666 vma->vm_page_prot = prot;
669   - vma->vm_flags |= (VM_SHM | VM_RESERVED | VM_IO);
670 667  
671 668 if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
672 669 size, vma->vm_page_prot))
arch/powerpc/kernel/pci_32.c
... ... @@ -1654,7 +1654,6 @@
1654 1654 return -EINVAL;
1655 1655  
1656 1656 vma->vm_pgoff = offset >> PAGE_SHIFT;
1657   - vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
1658 1657 vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp,
1659 1658 vma->vm_page_prot,
1660 1659 mmap_state, write_combine);
arch/powerpc/kernel/pci_64.c
... ... @@ -877,7 +877,6 @@
877 877 return -EINVAL;
878 878  
879 879 vma->vm_pgoff = offset >> PAGE_SHIFT;
880   - vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
881 880 vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp,
882 881 vma->vm_page_prot,
883 882 mmap_state, write_combine);
arch/powerpc/kernel/proc_ppc64.c
... ... @@ -115,8 +115,6 @@
115 115 {
116 116 struct proc_dir_entry *dp = PDE(file->f_dentry->d_inode);
117 117  
118   - vma->vm_flags |= VM_SHM | VM_LOCKED;
119   -
120 118 if ((vma->vm_end - vma->vm_start) > dp->size)
121 119 return -EINVAL;
122 120  
arch/ppc/kernel/pci.c
... ... @@ -1032,7 +1032,6 @@
1032 1032 return -EINVAL;
1033 1033  
1034 1034 vma->vm_pgoff = offset >> PAGE_SHIFT;
1035   - vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
1036 1035 vma->vm_page_prot = __pci_mmap_set_pgprot(dev, rp,
1037 1036 vma->vm_page_prot,
1038 1037 mmap_state, write_combine);
arch/xtensa/kernel/pci.c
... ... @@ -350,17 +350,6 @@
350 350 }
351 351  
352 352 /*
353   - * Set vm_flags of VMA, as appropriate for this architecture, for a pci device
354   - * mapping.
355   - */
356   -static __inline__ void
357   -__pci_mmap_set_flags(struct pci_dev *dev, struct vm_area_struct *vma,
358   - enum pci_mmap_state mmap_state)
359   -{
360   - vma->vm_flags |= VM_SHM | VM_LOCKED | VM_IO;
361   -}
362   -
363   -/*
364 353 * Set vm_page_prot of VMA, as appropriate for this architecture, for a pci
365 354 * device mapping.
366 355 */
... ... @@ -399,7 +388,6 @@
399 388 if (ret < 0)
400 389 return ret;
401 390  
402   - __pci_mmap_set_flags(dev, vma, mmap_state);
403 391 __pci_mmap_set_pgprot(dev, vma, mmap_state, write_combine);
404 392  
405 393 ret = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
drivers/char/mmtimer.c
... ... @@ -329,7 +329,6 @@
329 329 if (PAGE_SIZE > (1 << 16))
330 330 return -ENOSYS;
331 331  
332   - vma->vm_flags |= (VM_IO | VM_SHM | VM_LOCKED );
333 332 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
334 333  
335 334 mmtimer_addr = __pa(RTC_COUNTER_ADDR);
drivers/sbus/char/flash.c
... ... @@ -71,7 +71,6 @@
71 71 if (vma->vm_end - (vma->vm_start + (vma->vm_pgoff << PAGE_SHIFT)) > size)
72 72 size = vma->vm_end - (vma->vm_start + (vma->vm_pgoff << PAGE_SHIFT));
73 73  
74   - vma->vm_flags |= (VM_SHM | VM_LOCKED);
75 74 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
76 75  
77 76 if (io_remap_pfn_range(vma, vma->vm_start, addr, size, vma->vm_page_prot))
drivers/sbus/char/vfc_dev.c
... ... @@ -623,7 +623,7 @@
623 623 map_size = sizeof(struct vfc_regs);
624 624  
625 625 vma->vm_flags |=
626   - (VM_SHM | VM_LOCKED | VM_IO | VM_MAYREAD | VM_MAYWRITE | VM_MAYSHARE);
  626 + (VM_MAYREAD | VM_MAYWRITE | VM_MAYSHARE);
627 627 map_offset = (unsigned int) (long)dev->phys_regs;
628 628 ret = io_remap_pfn_range(vma, vma->vm_start,
629 629 MK_IOSPACE_PFN(dev->which_io,
drivers/video/igafb.c
... ... @@ -232,9 +232,6 @@
232 232  
233 233 size = vma->vm_end - vma->vm_start;
234 234  
235   - /* To stop the swapper from even considering these pages. */
236   - vma->vm_flags |= (VM_SHM | VM_LOCKED);
237   -
238 235 /* Each page, see which map applies */
239 236 for (page = 0; page < size; ) {
240 237 map_size = 0;
... ... @@ -145,7 +145,6 @@
145 145  
146 146 #define VM_GROWSDOWN 0x00000100 /* general info on the segment */
147 147 #define VM_GROWSUP 0x00000200
148   -#define VM_SHM 0x00000000 /* Means nothing: delete it later */
149 148 #define VM_PFNMAP 0x00000400 /* Page-ranges managed without "struct page", just pure PFN */
150 149 #define VM_DENYWRITE 0x00000800 /* ETXTBSY on write attempts.. */
151 150