All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/38] mm: remove non-linear mess
@ 2014-12-24 12:22 ` Kirill A. Shutemov
  0 siblings, 0 replies; 126+ messages in thread
From: Kirill A. Shutemov @ 2014-12-24 12:22 UTC (permalink / raw)
  To: akpm
  Cc: peterz, mingo, davej, sasha.levin, hughd, linux-mm, linux-arch,
	linux-kernel, Kirill A. Shutemov

We have remap_file_pages(2) emulation in -mm tree for few release cycles
and we plan to have it mainline in v3.20. This patchset removes rest of
VM_NONLINEAR infrastructure.

Patches 1-8 take care about generic code. They are pretty
straight-forward and can be applied without other of patches.

Rest patches removes pte_file()-related stuff from architecture-specific
code. It usually frees up one bit in non-present pte. I've tried to reuse
that bit for swap offset, where I was able to figure out how to do that.

For obvious reason I cannot test all that arch-specific code and would
like to see acks from maintainers.

In total, remap_file_pages(2) required about 1.4K lines of not-so-trivial
kernel code. That's too much for functionality nobody uses.

git://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git remap_file_pages

Kirill A. Shutemov (38):
  mm: drop support of non-linear mapping from unmap/zap codepath
  mm: drop support of non-linear mapping from fault codepath
  mm: drop vm_ops->remap_pages and generic_file_remap_pages() stub
  proc: drop handling non-linear mappings
  rmap: drop support of non-linear mappings
  mm: replace vma->sharead.linear with vma->shared
  mm: remove rest usage of VM_NONLINEAR and pte_file()
  asm-generic: drop unused pte_file* helpers
  alpha: drop _PAGE_FILE and pte_file()-related helpers
  arc: drop _PAGE_FILE and pte_file()-related helpers
  arm64: drop PTE_FILE and pte_file()-related helpers
  arm: drop L_PTE_FILE and pte_file()-related helpers
  avr32: drop _PAGE_FILE and pte_file()-related helpers
  blackfin: drop pte_file()
  c6x: drop pte_file()
  cris: drop _PAGE_FILE and pte_file()-related helpers
  frv: drop _PAGE_FILE and pte_file()-related helpers
  hexagon: drop _PAGE_FILE and pte_file()-related helpers
  ia64: drop _PAGE_FILE and pte_file()-related helpers
  m32r: drop _PAGE_FILE and pte_file()-related helpers
  m68k: drop _PAGE_FILE and pte_file()-related helpers
  metag: drop _PAGE_FILE and pte_file()-related helpers
  microblaze: drop _PAGE_FILE and pte_file()-related helpers
  mips: drop _PAGE_FILE and pte_file()-related helpers
  mn10300: drop _PAGE_FILE and pte_file()-related helpers
  nios2: drop _PAGE_FILE and pte_file()-related helpers
  openrisc: drop _PAGE_FILE and pte_file()-related helpers
  parisc: drop _PAGE_FILE and pte_file()-related helpers
  powerpc: drop _PAGE_FILE and pte_file()-related helpers
  s390: drop pte_file()-related helpers
  score: drop _PAGE_FILE and pte_file()-related helpers
  sh: drop _PAGE_FILE and pte_file()-related helpers
  sparc: drop pte_file()-related helpers
  tile: drop pte_file()-related helpers
  um: drop _PAGE_FILE and pte_file()-related helpers
  unicore32: drop pte_file()-related helpers
  x86: drop _PAGE_FILE and pte_file()-related helpers
  xtensa: drop _PAGE_FILE and pte_file()-related helpers

 Documentation/cachetlb.txt                 |   8 +-
 arch/alpha/include/asm/pgtable.h           |   7 -
 arch/arc/include/asm/pgtable.h             |  15 +-
 arch/arm/include/asm/pgtable-2level.h      |   1 -
 arch/arm/include/asm/pgtable-3level.h      |   1 -
 arch/arm/include/asm/pgtable-nommu.h       |   2 -
 arch/arm/include/asm/pgtable.h             |  20 +--
 arch/arm/mm/proc-macros.S                  |   2 +-
 arch/arm64/include/asm/pgtable.h           |  22 +--
 arch/avr32/include/asm/pgtable.h           |  25 ----
 arch/blackfin/include/asm/pgtable.h        |   5 -
 arch/c6x/include/asm/pgtable.h             |   5 -
 arch/cris/include/arch-v10/arch/mmu.h      |   3 -
 arch/cris/include/arch-v32/arch/mmu.h      |   3 -
 arch/cris/include/asm/pgtable.h            |   4 -
 arch/frv/include/asm/pgtable.h             |  27 +---
 arch/hexagon/include/asm/pgtable.h         |  60 ++------
 arch/ia64/include/asm/pgtable.h            |  25 +---
 arch/m32r/include/asm/pgtable-2level.h     |   4 -
 arch/m32r/include/asm/pgtable.h            |  11 --
 arch/m68k/include/asm/mcf_pgtable.h        |  23 +--
 arch/m68k/include/asm/motorola_pgtable.h   |  15 --
 arch/m68k/include/asm/pgtable_no.h         |   2 -
 arch/m68k/include/asm/sun3_pgtable.h       |  15 --
 arch/metag/include/asm/pgtable.h           |   6 -
 arch/microblaze/include/asm/pgtable.h      |  11 --
 arch/mips/include/asm/pgtable-32.h         |  36 -----
 arch/mips/include/asm/pgtable-64.h         |   9 --
 arch/mips/include/asm/pgtable-bits.h       |   9 --
 arch/mips/include/asm/pgtable.h            |   2 -
 arch/mn10300/include/asm/pgtable.h         |  17 +--
 arch/nios2/include/asm/pgtable-bits.h      |   1 -
 arch/nios2/include/asm/pgtable.h           |  10 +-
 arch/openrisc/include/asm/pgtable.h        |   8 -
 arch/openrisc/kernel/head.S                |   5 -
 arch/parisc/include/asm/pgtable.h          |  10 --
 arch/powerpc/include/asm/pgtable-ppc32.h   |   9 +-
 arch/powerpc/include/asm/pgtable-ppc64.h   |   5 +-
 arch/powerpc/include/asm/pgtable.h         |   1 -
 arch/powerpc/include/asm/pte-40x.h         |   1 -
 arch/powerpc/include/asm/pte-44x.h         |   5 -
 arch/powerpc/include/asm/pte-8xx.h         |   1 -
 arch/powerpc/include/asm/pte-book3e.h      |   1 -
 arch/powerpc/include/asm/pte-fsl-booke.h   |   3 -
 arch/powerpc/include/asm/pte-hash32.h      |   1 -
 arch/powerpc/include/asm/pte-hash64.h      |   1 -
 arch/powerpc/mm/pgtable_64.c               |   2 +-
 arch/s390/include/asm/pgtable.h            |  29 +---
 arch/score/include/asm/pgtable-bits.h      |   1 -
 arch/score/include/asm/pgtable.h           |  18 +--
 arch/sh/include/asm/pgtable_32.h           |  31 +---
 arch/sh/include/asm/pgtable_64.h           |   9 +-
 arch/sparc/include/asm/pgtable_32.h        |  24 ---
 arch/sparc/include/asm/pgtable_64.h        |  40 -----
 arch/sparc/include/asm/pgtsrmmu.h          |  14 +-
 arch/tile/include/asm/pgtable.h            |  11 --
 arch/tile/mm/homecache.c                   |   4 -
 arch/um/include/asm/pgtable-2level.h       |   9 --
 arch/um/include/asm/pgtable-3level.h       |  20 ---
 arch/um/include/asm/pgtable.h              |   9 --
 arch/unicore32/include/asm/pgtable-hwdef.h |   1 -
 arch/unicore32/include/asm/pgtable.h       |  14 --
 arch/x86/include/asm/pgtable-2level.h      |  38 +----
 arch/x86/include/asm/pgtable-3level.h      |  12 --
 arch/x86/include/asm/pgtable.h             |  20 ---
 arch/x86/include/asm/pgtable_64.h          |   6 +-
 arch/x86/include/asm/pgtable_types.h       |   3 -
 arch/xtensa/include/asm/pgtable.h          |  10 --
 drivers/gpu/drm/drm_vma_manager.c          |   3 +-
 fs/9p/vfs_file.c                           |   2 -
 fs/btrfs/file.c                            |   1 -
 fs/ceph/addr.c                             |   1 -
 fs/cifs/file.c                             |   1 -
 fs/ext4/file.c                             |   1 -
 fs/f2fs/file.c                             |   1 -
 fs/fuse/file.c                             |   1 -
 fs/gfs2/file.c                             |   1 -
 fs/inode.c                                 |   1 -
 fs/nfs/file.c                              |   1 -
 fs/nilfs2/file.c                           |   1 -
 fs/ocfs2/mmap.c                            |   1 -
 fs/proc/task_mmu.c                         |  16 --
 fs/ubifs/file.c                            |   1 -
 fs/xfs/xfs_file.c                          |   1 -
 include/asm-generic/pgtable.h              |  15 --
 include/linux/fs.h                         |  10 +-
 include/linux/mm.h                         |  27 +---
 include/linux/mm_types.h                   |  12 +-
 include/linux/rmap.h                       |   2 -
 include/linux/swapops.h                    |   4 +-
 kernel/fork.c                              |   8 +-
 mm/debug.c                                 |   1 -
 mm/filemap.c                               |   1 -
 mm/filemap_xip.c                           |   1 -
 mm/gup.c                                   |   2 +-
 mm/interval_tree.c                         |  34 ++---
 mm/ksm.c                                   |   2 +-
 mm/madvise.c                               |  13 +-
 mm/memcontrol.c                            |   4 +-
 mm/memory.c                                | 225 +++++++++--------------------
 mm/migrate.c                               |  32 ----
 mm/mincore.c                               |   5 +-
 mm/mmap.c                                  |  24 +--
 mm/mprotect.c                              |   2 +-
 mm/mremap.c                                |   2 -
 mm/msync.c                                 |   5 +-
 mm/rmap.c                                  | 225 +----------------------------
 mm/shmem.c                                 |   1 -
 mm/swap.c                                  |   4 +-
 109 files changed, 187 insertions(+), 1290 deletions(-)

-- 
2.1.3


^ permalink raw reply	[flat|nested] 126+ messages in thread

end of thread, other threads:[~2015-01-05  5:04 UTC | newest]

Thread overview: 126+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-24 12:22 [PATCH 00/38] mm: remove non-linear mess Kirill A. Shutemov
2014-12-24 12:22 ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 01/38] mm: drop support of non-linear mapping from unmap/zap codepath Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 02/38] mm: drop support of non-linear mapping from fault codepath Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 03/38] mm: drop vm_ops->remap_pages and generic_file_remap_pages() stub Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 04/38] proc: drop handling non-linear mappings Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 05/38] rmap: drop support of " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 06/38] mm: replace vma->sharead.linear with vma->shared Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 07/38] mm: remove rest usage of VM_NONLINEAR and pte_file() Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 14:02   ` [PATCHv2 " Kirill A. Shutemov
2014-12-24 14:02     ` Kirill A. Shutemov
2014-12-24 14:02     ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 08/38] asm-generic: drop unused pte_file* helpers Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 09/38] alpha: drop _PAGE_FILE and pte_file()-related helpers Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 10/38] arc: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:29   ` Vineet Gupta
2014-12-24 12:29     ` Vineet Gupta
2014-12-24 12:22 ` [PATCH 11/38] arm64: drop PTE_FILE " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 17:23   ` Catalin Marinas
2014-12-24 17:23     ` Catalin Marinas
2014-12-24 12:22 ` [PATCH 12/38] arm: drop L_PTE_FILE " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 13/38] avr32: drop _PAGE_FILE " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 14:15   ` Hans-Christian Egtvedt
2014-12-24 14:15     ` Hans-Christian Egtvedt
2014-12-24 12:22 ` [PATCH 14/38] blackfin: drop pte_file() Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 15/38] c6x: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 14:08   ` Mark Salter
2014-12-24 14:08     ` Mark Salter
2014-12-24 12:22 ` [PATCH 16/38] cris: drop _PAGE_FILE and pte_file()-related helpers Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 17/38] frv: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 18/38] hexagon: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 19/38] ia64: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 20/38] m32r: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 21/38] m68k: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-29 12:16   ` [PATCHv2 " Kirill A. Shutemov
2014-12-29 12:16     ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 22/38] metag: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2015-01-02 16:03   ` James Hogan
2015-01-02 16:03     ` James Hogan
2014-12-24 12:22 ` [PATCH 23/38] microblaze: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 24/38] mips: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-25 10:08   ` Geert Uytterhoeven
2014-12-25 10:08     ` Geert Uytterhoeven
2014-12-25 10:18     ` Kirill A. Shutemov
2014-12-25 10:18       ` Kirill A. Shutemov
2014-12-29 12:17     ` [PATCHv2 " Kirill A. Shutemov
2014-12-29 12:17       ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 25/38] mn10300: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 26/38] nios2: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-25 12:30   ` Tobias Klauser
2014-12-25 12:30     ` Tobias Klauser
2014-12-26  5:52     ` Ley Foon Tan
2014-12-26  5:52       ` Ley Foon Tan
2014-12-24 12:22 ` [PATCH 27/38] openrisc: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 28/38] parisc: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 29/38] powerpc: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2015-01-05  5:03   ` Michael Ellerman
2015-01-05  5:03     ` Michael Ellerman
2014-12-24 12:22 ` [PATCH 30/38] s390: drop " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-29 10:07   ` Martin Schwidefsky
2014-12-29 10:07     ` Martin Schwidefsky
2014-12-29 10:37     ` Kirill A. Shutemov
2014-12-29 10:37       ` Kirill A. Shutemov
2014-12-30 10:55       ` Martin Schwidefsky
2014-12-30 10:55         ` Martin Schwidefsky
2014-12-24 12:22 ` [PATCH 31/38] score: drop _PAGE_FILE and " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 32/38] sh: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 14:05   ` [PATCH] " Kirill A. Shutemov
2014-12-24 14:05     ` Kirill A. Shutemov
2014-12-24 14:05     ` Kirill A. Shutemov
2014-12-24 14:05     ` Kirill A. Shutemov
2014-12-24 14:05     ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 33/38] sparc: drop " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-25 23:34   ` David Miller
2014-12-25 23:34     ` David Miller
2014-12-24 12:22 ` [PATCH 34/38] tile: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-25  2:57   ` Chris Metcalf
2014-12-25  2:57     ` Chris Metcalf
2014-12-25  2:57     ` Chris Metcalf
2014-12-24 12:22 ` [PATCH 35/38] um: drop _PAGE_FILE and " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 36/38] unicore32: drop " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 37/38] x86: drop _PAGE_FILE and " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-24 12:22 ` [PATCH 38/38] xtensa: " Kirill A. Shutemov
2014-12-24 12:22   ` Kirill A. Shutemov
2014-12-25 10:25   ` Max Filippov
2014-12-25 10:25     ` Max Filippov
2014-12-26 21:10 ` [PATCH 00/38] mm: remove non-linear mess Felipe Balbi
2014-12-26 21:10   ` Felipe Balbi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.