1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-24 17:23:25 -05:00
No description
Find a file
Minchan Kim 8cc621d2f4 mm: fs: invalidate BH LRU during page migration
Pages containing buffer_heads that are in one of the per-CPU buffer_head
LRU caches will be pinned and thus cannot be migrated.  This can prevent
CMA allocations from succeeding, which are often used on platforms with
co-processors (such as a DSP) that can only use physically contiguous
memory.  It can also prevent memory hot-unplugging from succeeding,
which involves migrating at least MIN_MEMORY_BLOCK_SIZE bytes of memory,
which ranges from 8 MiB to 1 GiB based on the architecture in use.

Correspondingly, invalidate the BH LRU caches before a migration starts
and stop any buffer_head from being cached in the LRU caches, until
migration has finished.

Link: https://lkml.kernel.org/r/20210319175127.886124-3-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reported-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Reported-by: Laura Abbott <labbott@kernel.org>
Tested-by: Oliver Sang <oliver.sang@intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: John Dias <joaodias@google.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-05-05 11:27:24 -07:00
arch userfaultfd: add minor fault registration mode 2021-05-05 11:27:22 -07:00
block cgroup: rstat: punt root-level optimization to individual controllers 2021-04-30 11:20:37 -07:00
certs
crypto
Documentation userfaultfd: update documentation to describe minor fault handling 2021-05-05 11:27:23 -07:00
drivers mm/vmalloc: remove unmap_kernel_range 2021-04-30 11:20:40 -07:00
fs mm: fs: invalidate BH LRU during page migration 2021-05-05 11:27:24 -07:00
include mm: fs: invalidate BH LRU during page migration 2021-05-05 11:27:24 -07:00
init userfaultfd: add minor fault registration mode 2021-05-05 11:27:22 -07:00
ipc
kernel mm/compaction: remove unused variable sysctl_compact_memory 2021-05-05 11:27:24 -07:00
lib kasan: detect false-positives in tests 2021-04-30 11:20:42 -07:00
LICENSES
mm mm: fs: invalidate BH LRU during page migration 2021-05-05 11:27:24 -07:00
net net: page_pool: use alloc_pages_bulk in refill code path 2021-04-30 11:20:43 -07:00
samples samples/vfio-mdev/mdpy: use remap_vmalloc_range 2021-04-30 11:20:39 -07:00
scripts scripts: a new script for checking duplicate struct declaration 2021-04-30 11:20:35 -07:00
security
sound
tools userfaultfd/selftests: add test exercising minor fault handling 2021-05-05 11:27:23 -07:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: assign pagewalk.h to MEMORY MANAGEMENT 2021-04-30 11:20:41 -07:00
Makefile Kconfig updates for v5.13 2021-04-29 14:32:00 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.