⇤ ← Revision 1 as of 2019-03-09 13:43:44
Size: 5059
Comment: start adding memory management changes for 5.1
|
Size: 8156
Comment: This concludes the first batch of MM changes from Andrew.
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
* On arm64, enables HugeTLB migration support for all supported huge page sizes at all levels including contiguous bit implementation. [[https://git.kernel.org/linus/7ed2c31dabdeb3ee6abe8ff5aac7287821a50cba|commit]] [[https://git.kernel.org/linus/9b553bf5eb99dd1b2d8ae23136da46da5c205dfd|commit]] [[https://git.kernel.org/linus/e693de186414ae66f2a316ff9befcd2b7a6d07b6|commit]] [[https://git.kernel.org/linus/4a03a058d1fe7558faffab1a831dde508501e85c|commit]] [[https://git.kernel.org/linus/5480280d3f2d11d47f9be59d49b20a8d7d1b33e8|commit]] | * On arm64, enable HugeTLB migration support for all supported huge page sizes at all levels including contiguous bit implementation. [[https://git.kernel.org/linus/7ed2c31dabdeb3ee6abe8ff5aac7287821a50cba|commit]] [[https://git.kernel.org/linus/9b553bf5eb99dd1b2d8ae23136da46da5c205dfd|commit]] [[https://git.kernel.org/linus/e693de186414ae66f2a316ff9befcd2b7a6d07b6|commit]] [[https://git.kernel.org/linus/4a03a058d1fe7558faffab1a831dde508501e85c|commit]] [[https://git.kernel.org/linus/5480280d3f2d11d47f9be59d49b20a8d7d1b33e8|commit]] |
Line 22: | Line 22: |
* Remove the OOM killer heuristic that preferred to kill children of the "worst" process rather than the process itself. [[https://git.kernel.org/linus/bbbe48029720d2c6b6733f78d02571a281511adb|commit]] | * Remove the ancient OOM killer heuristic that preferred to kill children of the "worst" process rather than the process itself (see the commit to know why). [[https://git.kernel.org/linus/bbbe48029720d2c6b6733f78d02571a281511adb|commit]] * Shuffle GFP flags so that common combinations (e.g. GFP_KERNEL) are tightly packed, which allows arm to emit more efficient instruction stream, saving about 0.1% [[https://git.kernel.org/linus/d71e53cee7c2e553b85c572e76da778a93d32135|commit]] * Algorithmic complexity of swapoff operation is reduced from quadratic to linear, reducing (with 6GB data in swap in a VM) the swapoff operation from 8 to 3 minutes and CPU utilization from 80% to 5% [[https://git.kernel.org/linus/c5bf121e4350a933bd431385e6fcb72a898ecc68|commit]] [[https://git.kernel.org/linus/b56a2d8af9147a4efe4011b60d93779c0461ca97|commit]] * Cleanup and better documentation of how the PG_reserved page flag is used. [[https://git.kernel.org/linus/750b317f853899e2e0ed786c117935501c742dc8|commit]] [[https://git.kernel.org/linus/446d29645b7d2411a502885fc1cbd1746bcf80be|commit]] [[https://git.kernel.org/linus/f55b74170b6aabc79af8c813b5068d3014e68ef1|commit]] [[https://git.kernel.org/linus/795c230604cb78ee927ca3904ec299b777b5f6c9|commit]] [[https://git.kernel.org/linus/5ffb90b39334c857ce365cb48fbc7486fb817b45|commit]] [[https://git.kernel.org/linus/aee494424414aa6f511bb837624557e9d3b84823|commit]] [[https://git.kernel.org/linus/d9fa9d951779eb8110879f796434876a58321ae9|commit]] [[https://git.kernel.org/linus/731351d1bd3211101b4de8975540e273bcc99838|commit]] [[https://git.kernel.org/linus/6e2e07cd35f6f72d1950453b170f6bfb6c668c46|commit]] * Migrate longterm-pinned pages from CMA regions, and compound pages during mm_iommu_do_alloc() on ppc64, reducing the likelihood of CMA allocation failures. [[https://git.kernel.org/linus/d7fefcc8de9147cc37d0c00df12e7ea4f77999b5|commit]] [[https://git.kernel.org/linus/9a4e9f3b2d7393d50256762c21e7466b4b6b1c9c|commit]] [[https://git.kernel.org/linus/678e174c4c16a940ecfd94e52b7bad73062507f0|commit]] [[https://git.kernel.org/linus/7f18825174203526a47c127c12a50f897ee0b511|commit]] * Add an F_SEAL_FUTURE_WRITE seal to memfd as the part of the effort migrate Android use of ashmem to memfd. [[https://git.kernel.org/linus/ab3948f58ff841e51feb845720624665ef5b7ef3|commit]] [[https://git.kernel.org/linus/544029862cbb1d7903e19f2e58f48d4884e1201b|commit]] * Mike Rapoport becomes the maintainer of memblock allocator [[https://git.kernel.org/linus/2367fab5b397bdd6cbba384e073a2e834b94bc36|commit]] * In mremap() an unfortunate corner case is fixed where (if the number of mappings of a process approaches the maximum limit) mremap() can fail with ENOMEM but only after performing some destructive unmap actions. [[https://git.kernel.org/linus/ea2c3f6f5545610ed0bd8afa8a05355b49d817af|commit]] * Some improvements and, importantly, tests were added for VM related fiels found in /proc/*/maps and related files. [[https://git.kernel.org/linus/5713f35c0575a1137b705e13d10f8ee58f2ec7e8|commit]] [[https://git.kernel.org/linus/08b55775133b77acc9975ad772b41813cbfea674|commit]] [[https://git.kernel.org/linus/e483b0208784146864a2c195e316230647e9d297|commit]] [[https://git.kernel.org/linus/332e0e804d64894cf32db363e7f14c64a6ce8061|commit]] |
Linux 5.1 has not been released. Meanwhile, you can read about the features it will include here:
Summary: TBD
1. Coolest features
2. Core (various)
3. File systems
4. Memory management
Allow excluding balloon pages from kdump crash dumps to reduce their size. Also exclude them from hibernation image. commit commit commit commit commit commit commit commit
Various vmalloc() fixes and a new vmalloc test module and script. commit commit commit commit commit commit commit commit
On arm64, enable HugeTLB migration support for all supported huge page sizes at all levels including contiguous bit implementation. commit commit commit commit commit
Increase success rates and reduce latency of compaction (physical memory defragmentation), reducing the number of scanned pages for migration by 65%, and free pages for migration targets by 97%, while improving transparent hugepage allocation success rates significantly. commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit
Prevent SLAB and other pages with special type to be mapped into userspace, for improved security. commit commit
Remove the ancient OOM killer heuristic that preferred to kill children of the "worst" process rather than the process itself (see the commit to know why). commit
Shuffle GFP flags so that common combinations (e.g. GFP_KERNEL) are tightly packed, which allows arm to emit more efficient instruction stream, saving about 0.1% commit
Algorithmic complexity of swapoff operation is reduced from quadratic to linear, reducing (with 6GB data in swap in a VM) the swapoff operation from 8 to 3 minutes and CPU utilization from 80% to 5% commit commit
Cleanup and better documentation of how the PG_reserved page flag is used. commit commit commit commit commit commit commit commit commit
Migrate longterm-pinned pages from CMA regions, and compound pages during mm_iommu_do_alloc() on ppc64, reducing the likelihood of CMA allocation failures. commit commit commit commit
Add an F_SEAL_FUTURE_WRITE seal to memfd as the part of the effort migrate Android use of ashmem to memfd. commit commit
Mike Rapoport becomes the maintainer of memblock allocator commit
In mremap() an unfortunate corner case is fixed where (if the number of mappings of a process approaches the maximum limit) mremap() can fail with ENOMEM but only after performing some destructive unmap actions. commit
Some improvements and, importantly, tests were added for VM related fiels found in /proc/*/maps and related files. commit commit commit commit