Hi Xunlei,
FYI, the error/warning still remains.
tree:
https://github.com/alibaba/cloud-kernel.git linux-next
head: 4da723592714ee2993664252216d9d5b5a3df3eb
commit: 279df2ffcc1de5b6f8c584b23998f426257ae983 [10894/11535] alinux: doc: Add
Documentation/alibaba/interfaces.rst
reproduce: make htmldocs
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
reST markup error:
> Documentation/alibaba/interfaces.rst:97: (SEVERE/4) Unexpected
section title.
vim +97 Documentation/alibaba/interfaces.rst
8
9 memory.wmark_min_adj
10 ====================
11 This file is under memory cgroup v1.
12
13 In co-location environment, there are more or less some memory
14 overcommitment, then BATCH tasks may break the shared global min
15 watermark resulting in all types of applications falling into
16 the direct reclaim slow path hurting the RT of LS tasks.
17 (NOTE: BATCH tasks tolerate big latency spike even in seconds
18 as long as doesn't hurt its overal throughput. While LS tasks
19 are very Latency-Sensitive, they may time out or fail in case
20 of sudden latency spike lasts like hundreds of ms typically.)
21
22 Actually BATCH tasks are not sensitive to memory latency, they
23 can be assigned a strict min watermark which is different from
24 that of LS tasks(which can be aissgned a lenient min watermark
25 accordingly), thus isolating each other in case of global memory
26 allocation.
27
28 memory.wmark_min_adj stands for memcg global WMARK_MIN adjustment,
29 it is used to realize separate min watermarks above-mentioned for
30 memcgs, its valid value is within [-25, 50], specifically:
31 negative value means to be relative to [0, WMARK_MIN],
32 positive value means to be relative to [WMARK_MIN, WMARK_LOW].
33
34 For examples::
35
36 -25 means memcg WMARK_MIN is "WMARK_MIN + (WMARK_MIN - 0) * (-25%)"
37 50 means memcg WMARK_MIN is "WMARK_MIN + (WMARK_LOW - WMARK_MIN) *
50%"
38
39 Negative memory.wmark_min_adj means high QoS requirements, it can
40 allocate below the global WMARK_MIN, which is kind of like the idea
41 behind ALLOC_HARDER, see gfp_to_alloc_flags().
42
43 Positive memory.wmark_min_adj means low QoS requirements, thus when
44 allocation broke memcg min watermark, it should trigger direct reclaim
45 traditionally, and we trigger throttle instead to further prevent them
46 from disturbing others. The throttle time is simply linearly proportional
47 to the pages consumed below memcg's min watermark. The normal throttle
48 time once should be within [1ms, 100ms], and the maximal throttle time
49 is 1000ms. The throttle is only triggered under global memory pressure.
50
51 With this interface, we can assign positive values for BATCH memcgs
52 and negative values for LS memcgs. Note that root memcg doesn't have
53 this file.
54
55 memory.wmark_min_adj default value is 0, and inherit from its parent,
56 Note that the final effective wmark_min_adj will consider all the
57 hierarchical values, its value is the maximal(most conservative)
58 wmark_min_adj along the hierarchy but excluding intermediate default
59 values(zero).
60
61 For example::
62
63 The following hierarchy
64 root
65 / \
66 A D
67 / \
68 B C
69 / \
70 E F
71
72 wmark_min_adj: A -10, B -25, C 0, D 50, E -25, F 50
73 wmark_min_eadj: A -10, B -10, C 0, D 50, E -10, F 50
74
75 "echo xxx > memory.wmark_min_adj" set "wmark_min_adj".
76 "cat memory.wmark_min_adj" shows the value of
"wmark_min_eadj".
77
78 memory.exstat
79 =============
80 This file is under memory cgroup v1.
81
82 memory.exstat stands for "extra/extended memory.stat", which is
supposed
83 to provide hierarchical statistics.
84
85 "wmark_min_throttled_ms" field is the total throttled time in
milliseconds
86 due to positive memory.wmark_min_adj under global memory pressure.
87
88 zombie memcgs reaper
89 ====================
90 After memcg was deleted, page caches still reference to this memcg
91 causing large number of dead(zombie) memcgs in the system. Then it
92 slows down access to "/sys/fs/cgroup/cpu/memory.stat", etc due to
93 tons of iterations, further causing various latencies. "zombie memcgs
94 reaper" is a tool to reclaim these dead memcgs. It has two modes:
95
96 "Background kthread reaper" mode
97 --------------------------------
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org