The source for the Linux kernel used in Windows Subsystem for Linux 2 (WSL2)
Перейти к файлу
Zi Yan b2c9e2fbba mm: make alloc_contig_range work at pageblock granularity
alloc_contig_range() worked at MAX_ORDER_NR_PAGES granularity to avoid
merging pageblocks with different migratetypes.  It might unnecessarily
convert extra pageblocks at the beginning and at the end of the range. 
Change alloc_contig_range() to work at pageblock granularity.

Special handling is needed for free pages and in-use pages across the
boundaries of the range specified by alloc_contig_range().  Because these=

Partially isolated pages causes free page accounting issues.  The free
pages will be split and freed into separate migratetype lists; the in-use=

Pages will be migrated then the freed pages will be handled in the
aforementioned way.

[ziy@nvidia.com: fix deadlock/crash]
  Link: https://lkml.kernel.org/r/23A7297E-6C84-4138-A9FE-3598234004E6@nvidia.com
Link: https://lkml.kernel.org/r/20220425143118.2850746-4-zi.yan@sent.com
Signed-off-by: Zi Yan <ziy@nvidia.com>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: David Hildenbrand <david@redhat.com>
Cc: Eric Ren <renzhengeek@gmail.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-05-13 07:20:13 -07:00
Documentation Docs/admin-guide/mm/damon/reclaim: document 'commit_inputs' parameter 2022-05-13 07:20:09 -07:00
LICENSES
arch mm/hugetlb: introduce huge pte version of uffd-wp helpers 2022-05-13 07:20:10 -07:00
block
certs
crypto
drivers mmap locking API: fix missed mmap_sem references in comments 2022-05-13 07:20:07 -07:00
fs mm/uffd: enable write protection for shmem & hugetlbfs 2022-05-13 07:20:11 -07:00
include mm: make alloc_contig_range work at pageblock granularity 2022-05-13 07:20:13 -07:00
init mm/uffd: move USERFAULTFD configs into mm/ 2022-05-13 07:20:12 -07:00
ipc
kernel printk: stop including cache.h from printk.h 2022-05-13 07:20:07 -07:00
lib
mm mm: make alloc_contig_range work at pageblock granularity 2022-05-13 07:20:13 -07:00
net tcp: fix F-RTO may not work correctly when receiving DSACK 2022-04-28 10:35:38 -07:00
samples
scripts
security
sound
tools cgroup: fix racy check in alloc_pagecache_max_30M() helper function 2022-05-13 07:20:12 -07:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: add corresponding kselftests to memcg entry 2022-04-28 23:16:00 -07:00
Makefile
README

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.