[Devel] [PATCH rh7 00/12] replace remap_file_pages() syscall with emulation
Andrey Ryabinin
aryabinin at virtuozzo.com
Mon Oct 3 06:20:48 PDT 2016
Backported patchset "Workaround for Xeon Phi PTE A/D bits erratum"
caused - kernel BUG at mm/rmap.c:1305!
_PAGE_BIT_FILE is not present in upstream but still present
in RHEL7 kernel, so they did this:
/* Pick a bit unaffected by the "KNL4 erratum": */
#define _PAGE_BIT_FILE _PAGE_BIT_PSE
This conflicts with ours code:
#define _PAGE_SWP_SOFT_DIRTY _PAGE_PSE
It seems that the best way to fix this is to get rid of _PAGE_FILE alltogether.
NOTE! I didn't bother to backport all "$(ARCH): drop _PAGE_FILE and pte_file()-related helpers"
except for asm-generic and x86. This seems unnecessary, plus might help to avoid additional
conflicts in future rebases.
https://jira.sw.ru/browse/PSBM-52992
Kirill A. Shutemov (12):
ms/mm: replace remap_file_pages() syscall with emulation
ms/mm: drop support of non-linear mapping from unmap/zap codepath
ms/mm: drop support of non-linear mapping from fault codepath
ms/mm: drop vm_ops->remap_pages and generic_file_remap_pages() stub
ms/proc: drop handling non-linear mappings
ms/rmap: drop support of non-linear mappings
ms/mm: replace vma->sharead.linear with vma->shared
ms/mm: remove rest usage of VM_NONLINEAR and pte_file()
ms/mm: fix regression in remap_file_pages() emulation
ms/ipc/shm: handle removed segments gracefully in shm_mmap()
ms/asm-generic: drop unused pte_file* helpers
ms/x86: drop _PAGE_FILE and pte_file()-related helpers
Documentation/cachetlb.txt | 8 +-
Documentation/vm/remap_file_pages.txt | 27 ++++
arch/x86/include/asm/pgtable-2level.h | 86 +----------
arch/x86/include/asm/pgtable-3level.h | 12 --
arch/x86/include/asm/pgtable.h | 20 ---
arch/x86/include/asm/pgtable_64.h | 9 --
arch/x86/include/asm/pgtable_types.h | 8 --
fs/9p/vfs_file.c | 1 -
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 | 15 --
fs/ubifs/file.c | 1 -
fs/xfs/xfs_file.c | 1 -
include/asm-generic/pgtable.h | 15 --
include/linux/fs.h | 6 +-
include/linux/mm.h | 27 +---
include/linux/mm_types.h | 12 +-
include/linux/rmap.h | 3 -
include/linux/swapops.h | 4 +-
ipc/shm.c | 51 +++++--
kernel/fork.c | 8 +-
mm/Makefile | 2 +-
mm/filemap.c | 1 -
mm/filemap_xip.c | 1 -
mm/fremap.c | 264 ----------------------------------
mm/interval_tree.c | 34 ++---
mm/ksm.c | 2 +-
mm/madvise.c | 13 +-
mm/memcontrol.c | 7 +-
mm/memory.c | 220 +++++++++-------------------
mm/mincore.c | 9 +-
mm/mmap.c | 117 ++++++++++++---
mm/mprotect.c | 2 +-
mm/mremap.c | 2 -
mm/msync.c | 5 +-
mm/nommu.c | 8 --
mm/rmap.c | 214 +--------------------------
mm/shmem.c | 1 -
mm/swap.c | 4 +-
48 files changed, 286 insertions(+), 945 deletions(-)
create mode 100644 Documentation/vm/remap_file_pages.txt
delete mode 100644 mm/fremap.c
--
2.7.3
More information about the Devel
mailing list