mirror of
https://github.com/gatieme/LDD-LinuxDeviceDrivers.git
synced 2026-09-21 11:53:35 +08:00
description: openanolis
This commit is contained in:
+157
-48
@@ -266,17 +266,6 @@ d9ba6d0880e3 alinux: sched: Introduce primitives for CFS bandwidth burst
|
||||
-------
|
||||
|
||||
|
||||
## 2.1 MEMSLI
|
||||
-------
|
||||
|
||||
|
||||
```cpp
|
||||
echo 1 > /proc/memsli/enabled
|
||||
|
||||
mount -t tmpfs cgroup_root /sys/fs/cgroup
|
||||
mkdir -p /sys/fs/cgroup/memory
|
||||
mount -t cgroup -o memory memory /sys/fs/cgroup/memory
|
||||
```
|
||||
|
||||
## 2.2 fast_cow
|
||||
-------
|
||||
@@ -360,11 +349,11 @@ c9fe54195999 mm: fix LRU balancing effect of new transparent huge pages
|
||||
```
|
||||
|
||||
|
||||
## task #30476527
|
||||
-------
|
||||
|
||||
|
||||
|
||||
|
||||
## mm: fix page aging across multiple cgroups
|
||||
### mm: fix page aging across multiple cgroups
|
||||
-------
|
||||
|
||||
|
||||
@@ -378,21 +367,17 @@ af77f2589a48 mm: vmscan: enforce inactive:active ratio at the reclaim root
|
||||
0f68ac9a7339 mm: vmscan: move file exhaustion detection to the node level
|
||||
```
|
||||
|
||||
## mm: vmscan: cgroup-related cleanups
|
||||
### mm: vmscan: cgroup-related cleanups
|
||||
-------
|
||||
|
||||
一组 cleanup 也合入了, 我表示深刻的不理解. cleanup 没改变逻辑, 只是上代码更清晰. 合入的原因是啥
|
||||
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2019/11/07 | Johannes Weiner <hannes@cmpxchg.org> | [mm: fix page aging across multiple cgroups](https://lore.kernel.org/patchwork/cover/1142997) | 对回收代码与cgroups的交互进行了一些清理. 它们不应该改变任何行为, 而只是让实现更容易理解和使用. | v1 ☑ [5.5-rc1](https://kernelnewbies.org/Linux_5.5#Memory_management) | [PatchWork v1](https://lore.kernel.org/patchwork/cover/1142997) |
|
||||
|
||||
|
||||
```cpp
|
||||
#30476527
|
||||
|
||||
9f124d740916 mm: vmscan: harmonize writeback congestion tracking for nodes & memcgs
|
||||
47b5bb94e110 mm: vmscan: turn shrink_node_memcg() into shrink_lruvec()
|
||||
d144427dbe3d mm: vmscan: split shrink_node() into node part and memcgs part
|
||||
@@ -403,10 +388,12 @@ c5e78e07aaa1 mm: vmscan: move inactive_list_is_low() swap check to the caller
|
||||
385269e8de19 mm: vmscan: simplify lruvec_lru_size()
|
||||
```
|
||||
|
||||
### cleanup
|
||||
-------
|
||||
|
||||
|
||||
又一组 cleanup, 但是只合入了其中的 2 个补丁.
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2019/02/28 | Andrey Ryabinin <aryabinin@virtuozzo.com> | [mm/workingset: remove unused @mapping argument in workingset_eviction()](https://lore.kernel.org/patchwork/cover/1046511) | NA | v1 ☑ [5.5-rc1](https://kernelnewbies.org/Linux_5.5#Memory_management) | [PatchWork v2](https://lore.kernel.org/patchwork/cover/1046511) |
|
||||
@@ -417,16 +404,27 @@ f2116b7f9274 mm/workingset: remove unused @mapping argument in workingset_evicti
|
||||
4f466c091b62 mm/vmscan: remove unused lru_pages argument
|
||||
```
|
||||
|
||||
## enhance & fix memcg
|
||||
### fix
|
||||
-------
|
||||
|
||||
|
||||
* task #3047633
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2019/02/28 | Johannes Weiner <hannes@cmpxchg.org> | [mm: memcontrol: memory.stat cost & correctness](https://lore.kernel.org/patchwork/cover/1046756) | NA | v1 ☑ [5.2-rc1](https://kernelnewbies.org/Linux_5.2#Memory_management) | [PatchWork v2](https://lore.kernel.org/patchwork/cover/1046756) |
|
||||
| 2019/04/12 | Andrey Ryabinin <aryabinin@virtuozzo.com> | [mm: memcontrol: memory.stat cost & correctness](https://lore.kernel.org/patchwork/cover/1061078) | NA | v1 ☑ [5.2-rc1](https://kernelnewbies.org/Linux_5.2#Memory_management) | [PatchWork v2](https://lore.kernel.org/patchwork/cover/1061078) |
|
||||
| 2019/01/29 | Johannes Weiner <hannes@cmpxchg.org> | [ mm: vmscan: do not iterate all mem cgroups for global direct reclaim](https://lore.kernel.org/patchwork/cover/1036823) | NA | v1 ☑ [5.5-rc1](https://kernelnewbies.org/Linux_5.5#Memory_management) | [PatchWork v1](https://lore.kernel.org/patchwork/cover/1036823) |
|
||||
| 2019/08/12 | Johannes Weiner <hannes@cmpxchg.org> | [mm: vmscan: do not share cgroup iteration between reclaimers](https://lore.kernel.org/patchwork/cover/1114038) | NA | v1 ☑ [5.5-rc1](https://kernelnewbies.org/Linux_5.5#Memory_management) | [PatchWork v1](https://lore.kernel.org/patchwork/cover/1114038) |
|
||||
|
||||
```cpp
|
||||
91ae8e0cd768 mm: vmscan: do not share cgroup iteration between reclaimers
|
||||
1a8869efe950 mm: vmscan: do not iterate all mem cgroups for global direct reclaim
|
||||
54c1b36ed43a mm/memcontrol: update lruvec counters in mem_cgroup_move_account
|
||||
```
|
||||
|
||||
## task #3047633(enhance & fix memcg)
|
||||
-------
|
||||
|
||||
|
||||
|
||||
### fix
|
||||
-------
|
||||
|
||||
|
||||
```cpp
|
||||
@@ -439,14 +437,32 @@ bc0030faffe9 mm: memcontrol: flush percpu vmevents before releasing memcg
|
||||
2ddc019313c5 mm: memcontrol: flush percpu vmstats before releasing memcg
|
||||
7f75ebe21937 mm/memcontrol: fix wrong statistics in memory.stat
|
||||
e7643c241159 mm: memcontrol: don't batch updates of local VM stats and events
|
||||
```
|
||||
|
||||
https://lore.kernel.org/patchwork/cover/1061078
|
||||
###
|
||||
-------
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2019/04/12 | Andrey Ryabinin <aryabinin@virtuozzo.com> | [mm: memcontrol: memory.stat cost & correctness](https://lore.kernel.org/patchwork/cover/1061078) | NA | v1 ☑ [5.2-rc1](https://kernelnewbies.org/Linux_5.2#Memory_management) | [PatchWork v2](https://lore.kernel.org/patchwork/cover/1061078) |
|
||||
|
||||
|
||||
```cpp
|
||||
97276f710344 mm: memcontrol: fix NUMA round-robin reclaim at intermediate level
|
||||
d9d834314371 mm: memcontrol: fix recursive statistics correctness & scalabilty
|
||||
b82ffa7c06b9 mm: memcontrol: move stat/event counting functions out-of-line
|
||||
c24d85c9806d mm: memcontrol: make cgroup stats and events query API explicitly local
|
||||
98ab53a614a mm, memcg: rename ambiguously named memory.stat counters and functions
|
||||
```
|
||||
|
||||
###
|
||||
-------
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2019/02/28 | Johannes Weiner <hannes@cmpxchg.org> | [mm: memcontrol: track LRU counts in the vmstats array](https://lore.kernel.org/patchwork/cover/1046756) | NA | v1 ☑ [5.2-rc1](https://kernelnewbies.org/Linux_5.2#Memory_management) | [PatchWork v2](https://lore.kernel.org/patchwork/cover/1046756) |
|
||||
|
||||
```cpp
|
||||
https://lore.kernel.org/patchwork/patch/1046756
|
||||
1009eea36499 mm: memcontrol: quarantine the mem_cgroup_[node_]nr_lru_pages() API
|
||||
b254f736aa06 mm: memcontrol: push down mem_cgroup_nr_lru_pages()
|
||||
@@ -457,12 +473,11 @@ af2a43b06ab6 mm: memcontrol: track LRU counts in the vmstats array
|
||||
```
|
||||
|
||||
|
||||
* task #30476868
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2020/05/08 | Johannes Weiner <hannes@cmpxchg.org> | [mm: memcontrol: charge swapin pages on instantiation1239175mboxseries](https://lore.kernel.org/patchwork/cover/1239175) | NA | v1 ☑ [5.8-rc1](https://kernelnewbies.org/Linux_5.8#Memory_management) | [PatchWork v2](https://lore.kernel.org/patchwork/cover/1239175) |
|
||||
## task #30476868
|
||||
-------
|
||||
|
||||
### NA
|
||||
-------
|
||||
|
||||
```cpp
|
||||
8d6fc8aaccf4 mm/memcontrol: fix OOPS inside mem_cgroup_get_nr_swap_pages()
|
||||
@@ -472,6 +487,9 @@ fd3832463ad1 mm: do_swap_page(): fix up the error code
|
||||
b41e5c93ed50 mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg
|
||||
```
|
||||
|
||||
### mm: memcontrol: charge swapin pages on instantiation
|
||||
-------
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
@@ -500,46 +518,74 @@ d57c8cd555f8 mm: memcontrol: drop @compound parameter from memcg charging API
|
||||
c5cfeb3e2b18 mm: memcontrol: fix stat-corrupting race in charge moving
|
||||
```
|
||||
|
||||
* task #30476527
|
||||
|
||||
```cpp
|
||||
https://lore.kernel.org/patchwork/patch/1114038
|
||||
91ae8e0cd768 mm: vmscan: do not share cgroup iteration between reclaimers
|
||||
1a8869efe950 mm: vmscan: do not iterate all mem cgroups for global direct reclaim
|
||||
54c1b36ed43a mm/memcontrol: update lruvec counters in mem_cgroup_move_account
|
||||
```
|
||||
|
||||
## task #31315199
|
||||
-------
|
||||
|
||||
```cpp
|
||||
737b01dfdb63 alinux: mm: fix an global-out-of-bounds in __do_proc_doulongvec_minmax
|
||||
f5ac90f84be8 alinux: mm: add an interface to adjust the penalty time dynamically
|
||||
f8a6ae902811 alinux: mm: support swap.high for cgroup v1
|
||||
```
|
||||
|
||||
|
||||
### memcg: Slow down swap allocation as the available space gets depleted
|
||||
-------
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2020/05/27 | Jakub Kicinski <kuba@kernel.org> | [memcg: Slow down swap allocation as the available space gets depleted](https://patchwork.kernel.org/project/linux-mm/cover/20200527195846.102707-1-kuba@kernel.org/) | NA | v6 ☑ [5.8-rc1](https://kernelnewbies.org/Linux_5.8#Memory_management) | [PatchWork v6](https://patchwork.kernel.org/project/linux-mm/cover/20200527195846.102707-1-kuba@kernel.org) |
|
||||
|
||||
|
||||
```CPP
|
||||
ad06f811534b mm/memcg: automatically penalize tasks with high swap use
|
||||
e1a2c040dcd7 mm/memcg: move cgroup high memory limit setting into struct page_counter
|
||||
49b0d8d106e8 mm/memcg: move penalty delay clamping out of calculate_high_delay()
|
||||
408975905823 mm/memcg: prepare for swap over-high accounting and penalty calculation
|
||||
```
|
||||
|
||||
### mm, memcg: cgroup v2 tunable load/store tearing fixes
|
||||
-------
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2020/03/12 | Jakub Kicinski <kuba@kernel.org> | [memcg: Slow down swap allocation as the available space gets depleted](https://lore.kernel.org/patchwork/cover/1208947) | NA | v1 ☑ [5.8-rc1](https://kernelnewbies.org/Linux_5.8#Memory_management) | [PatchWork v1](https://lore.kernel.org/patchwork/cover/1208947) |
|
||||
|
||||
|
||||
```cpp
|
||||
e8144debf849 mm, memcg: prevent memory.swap.max load tearing
|
||||
8ef892f0023b mm, memcg: prevent memory.min load/store tearing
|
||||
1793bc1dd739 mm, memcg: prevent memory.low load/store tearing
|
||||
4b9fe46dcedf mm, memcg: prevent memory.max load tearing
|
||||
e0a3c6cf7328 mm, memcg: prevent memory.high load/store tearing
|
||||
```
|
||||
|
||||
|
||||
```cpp
|
||||
https://lore.kernel.org/patchwork/patch/1218448
|
||||
1e005f35c32f mm, memcg: do not high throttle allocators based on wraparound
|
||||
|
||||
https://lore.kernel.org/patchwork/patch/1208907
|
||||
b7671aa6d7ef mm, memcg: bypass high reclaim iteration for cgroup hierarchy root
|
||||
|
||||
https://lore.kernel.org/patchwork/patch/1208954/
|
||||
044b9665cf59 mm, memcg: throttle allocators based on ancestral memory.high
|
||||
efe4ee97dd8f mm, memcg: fix corruption on 64-bit divisor in memory.high throttling
|
||||
|
||||
```
|
||||
|
||||
## task #31072503
|
||||
-------
|
||||
|
||||
|
||||
|
||||
```cpp
|
||||
b91b37989d2f alinux: mm: make the swap throttle more accurate
|
||||
9ff7293e6dc7 io_uring: add IORING_CQ_EVENTFD_DISABLED to the CQ ring flags
|
||||
1b6d35612c87 io_uring: add 'cq_flags' field for the CQ ring
|
||||
dc535ede525f KVM: x86: Expose fast short REP MOV for supported cpuid
|
||||
f61f407663fa x86/cpufeatures: Add support for fast short REP; MOVSB
|
||||
362c19f4f21d mm: proactive compaction
|
||||
```
|
||||
|
||||
## to #29998112
|
||||
-------
|
||||
|
||||
|
||||
```cpp
|
||||
acfc4d580d12 mm: add kiocb_wait_page_queue_init() helper
|
||||
20076b974a61 btrfs: flag files as supporting buffered async reads
|
||||
@@ -552,17 +598,45 @@ acfc4d580d12 mm: add kiocb_wait_page_queue_init() helper
|
||||
f0e3c8506f52 mm: allow read-ahead with IOCB_NOWAIT set
|
||||
```
|
||||
|
||||
|
||||
## to #29931646
|
||||
-------
|
||||
|
||||
```cpp
|
||||
63de663eb5b9 mm, page_alloc: skip ->waternark_boost for atomic order-0 allocations
|
||||
|
||||
b893a7d56134 alinux: mm: completely disable swapout with negative swappiness
|
||||
```
|
||||
|
||||
## task #25182720
|
||||
-------
|
||||
|
||||
```cpp
|
||||
7e6914774bc8 mm: do not allow MADV_PAGEOUT for CoW pages
|
||||
```
|
||||
|
||||
## to #26782094
|
||||
-------
|
||||
|
||||
```cpp
|
||||
7d6cb94f148e alinux: mm: Pin code section of process in memory
|
||||
f579b6f96a5d alinux: kidled: make kidled_inc_page_age return latest page age
|
||||
3049621727e9 mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo
|
||||
```
|
||||
|
||||
## MEMSLI(to #26424368)
|
||||
-------
|
||||
|
||||
```cpp
|
||||
echo 1 > /proc/memsli/enabled
|
||||
|
||||
mount -t tmpfs cgroup_root /sys/fs/cgroup
|
||||
mkdir -p /sys/fs/cgroup/memory
|
||||
mount -t cgroup -o memory memory /sys/fs/cgroup/memory
|
||||
```
|
||||
|
||||
|
||||
```cpp
|
||||
start_commit : 3d5ca29dd634b4628d7dc82423b2680718e6eb2a
|
||||
end_commit : a5f32c14829c2cf52ffe8a2c25fd5e089c254d9c
|
||||
3d5ca29dd634 alinux: mm, memcg: optimize division operation with memsli counters
|
||||
055ed63be9b6 alinux: mm, memcg: rework memsli interfaces
|
||||
a2feb0da9d27 alinux: config: enable CONFIG_MEMSLI
|
||||
@@ -579,6 +653,20 @@ fe673ccf92aa alinux: mm, memcg: adjust the latency probe point for memcg direct
|
||||
```
|
||||
|
||||
|
||||
## task #29077503
|
||||
-------
|
||||
|
||||
### mm/memory_hotplug: Export generic_online_page()
|
||||
-------
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2019/09/09 | Jakub Kicinski <kuba@kernel.org> | [mm/memory_hotplug: Export generic_online_page()](https://lore.kernel.org/patchwork/cover/1125874) | NA | v1 ☑ [5.5-rc1](https://kernelnewbies.org/Linux_5.5#Memory_management) | [PatchWork v1](https://lore.kernel.org/patchwork/cover/1125874) |
|
||||
|
||||
|
||||
|
||||
|
||||
```cpp
|
||||
0c6a9eb5c0d9 mm/memory_hotplug: export generic_online_page()
|
||||
bd6aced3785a mm/page_alloc.c: memory hotplug: free pages as higher order
|
||||
@@ -1035,7 +1123,18 @@ c3694064258c virtiofs: Do not end request in submission context
|
||||
```
|
||||
|
||||
|
||||
|
||||
## task #29077503(virtio-mem: paravirtualized memory)
|
||||
-------
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:---:|:----------:|:----:|
|
||||
| 2020/05/07 | Johannes Weiner <hannes@cmpxchg.org> | [virtio-mem: paravirtualized memory](https://lore.kernel.org/patchwork/cover/1237689) | NA | v2 ☑ [5.8-rc1](https://kernelnewbies.org/Linux_5.8#Memory_management) | [PatchWork v4](https://lore.kernel.org/patchwork/cover/1237689) |
|
||||
|
||||
```cpp
|
||||
start_commit : 1e5d7fb5446ca564cd5be1b0f555b8f766b3aacf
|
||||
end_commit : add0d5e477f6fe01e7ab1556590bb47fa12a13e2
|
||||
1e5d7fb5446c virtio_mem: convert device block size into 64bit
|
||||
64f827bfa426 mm/memory_hotplug: set node_start_pfn of hotadded pgdat to 0
|
||||
99d68412c05e virtio-mem: silence a static checker warning
|
||||
@@ -1055,8 +1154,18 @@ c062d118b6c4 mm/memory_hotplug: Introduce offline_and_remove_memory()
|
||||
91f30ea2ed5c virtio-mem: Paravirtualized memory hotunplug part 1
|
||||
c9f36272db0c virtio-mem: Allow to specify an ACPI PXM as nid
|
||||
d3997ceb10d2 virtio-mem: Paravirtualized memory hotplug
|
||||
|
||||
0c6a9eb5c0d9 mm/memory_hotplug: export generic_online_page()
|
||||
bd6aced3785a mm/page_alloc.c: memory hotplug: free pages as higher order
|
||||
5eee472829ec mm, memory_hotplug: deobfuscate migration part of offlining
|
||||
a6785cdc8d2b mm, memory_hotplug: __offline_pages fix wrong locking
|
||||
86f9a7e38183 mm, memory_hotplug: print reason for the offlining failure
|
||||
80aa4777f63f mm/page_isolation.c: convert SKIP_HWPOISON to MEMORY_OFFLINE
|
||||
5316eb6eaeb8 mm: only report isolation failures when offlining memory
|
||||
59df23d6178e mm: convert PG_balloon to PG_offline
|
||||
```
|
||||
|
||||
|
||||
```cpp
|
||||
414ddd93b45c namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
|
||||
685c60efde29 namei: LOOKUP_IN_ROOT: chroot-like scoped resolution
|
||||
|
||||
Reference in New Issue
Block a user