diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 12:04:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 12:04:48 -0400 |
commit | 95211279c5ad00a317c98221d7e4365e02f20836 (patch) | |
tree | 2ddc8625378d2915b8c96392f3cf6663b705ed55 /Documentation | |
parent | 5375871d432ae9fc581014ac117b96aaee3cd0c7 (diff) | |
parent | 12724850e8064f64b6223d26d78c0597c742c65a (diff) |
Merge branch 'akpm' (Andrew's patch-bomb)
Merge first batch of patches from Andrew Morton:
"A few misc things and all the MM queue"
* emailed from Andrew Morton <akpm@linux-foundation.org>: (92 commits)
memcg: avoid THP split in task migration
thp: add HPAGE_PMD_* definitions for !CONFIG_TRANSPARENT_HUGEPAGE
memcg: clean up existing move charge code
mm/memcontrol.c: remove unnecessary 'break' in mem_cgroup_read()
mm/memcontrol.c: remove redundant BUG_ON() in mem_cgroup_usage_unregister_event()
mm/memcontrol.c: s/stealed/stolen/
memcg: fix performance of mem_cgroup_begin_update_page_stat()
memcg: remove PCG_FILE_MAPPED
memcg: use new logic for page stat accounting
memcg: remove PCG_MOVE_LOCK flag from page_cgroup
memcg: simplify move_account() check
memcg: remove EXPORT_SYMBOL(mem_cgroup_update_page_stat)
memcg: kill dead prev_priority stubs
memcg: remove PCG_CACHE page_cgroup flag
memcg: let css_get_next() rely upon rcu_read_lock()
cgroup: revert ss_id_lock to spinlock
idr: make idr_get_next() good for rcu_read_lock()
memcg: remove unnecessary thp check in page stat accounting
memcg: remove redundant returns
memcg: enum lru_list lru
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/filesystems/proc.txt | 32 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 7 | ||||
-rw-r--r-- | Documentation/vm/page-types.c | 2 | ||||
-rw-r--r-- | Documentation/vm/pagemap.txt | 4 |
4 files changed, 43 insertions, 2 deletions
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index a76a26a1db8a..b7413cb46dcb 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -290,7 +290,7 @@ Table 1-4: Contents of the stat files (as of 2.6.30-rc7) | |||
290 | rsslim current limit in bytes on the rss | 290 | rsslim current limit in bytes on the rss |
291 | start_code address above which program text can run | 291 | start_code address above which program text can run |
292 | end_code address below which program text can run | 292 | end_code address below which program text can run |
293 | start_stack address of the start of the stack | 293 | start_stack address of the start of the main process stack |
294 | esp current value of ESP | 294 | esp current value of ESP |
295 | eip current value of EIP | 295 | eip current value of EIP |
296 | pending bitmap of pending signals | 296 | pending bitmap of pending signals |
@@ -325,7 +325,7 @@ address perms offset dev inode pathname | |||
325 | a7cb1000-a7cb2000 ---p 00000000 00:00 0 | 325 | a7cb1000-a7cb2000 ---p 00000000 00:00 0 |
326 | a7cb2000-a7eb2000 rw-p 00000000 00:00 0 | 326 | a7cb2000-a7eb2000 rw-p 00000000 00:00 0 |
327 | a7eb2000-a7eb3000 ---p 00000000 00:00 0 | 327 | a7eb2000-a7eb3000 ---p 00000000 00:00 0 |
328 | a7eb3000-a7ed5000 rw-p 00000000 00:00 0 | 328 | a7eb3000-a7ed5000 rw-p 00000000 00:00 0 [stack:1001] |
329 | a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 | 329 | a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 |
330 | a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 | 330 | a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 |
331 | a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 | 331 | a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 |
@@ -357,11 +357,39 @@ is not associated with a file: | |||
357 | 357 | ||
358 | [heap] = the heap of the program | 358 | [heap] = the heap of the program |
359 | [stack] = the stack of the main process | 359 | [stack] = the stack of the main process |
360 | [stack:1001] = the stack of the thread with tid 1001 | ||
360 | [vdso] = the "virtual dynamic shared object", | 361 | [vdso] = the "virtual dynamic shared object", |
361 | the kernel system call handler | 362 | the kernel system call handler |
362 | 363 | ||
363 | or if empty, the mapping is anonymous. | 364 | or if empty, the mapping is anonymous. |
364 | 365 | ||
366 | The /proc/PID/task/TID/maps is a view of the virtual memory from the viewpoint | ||
367 | of the individual tasks of a process. In this file you will see a mapping marked | ||
368 | as [stack] if that task sees it as a stack. This is a key difference from the | ||
369 | content of /proc/PID/maps, where you will see all mappings that are being used | ||
370 | as stack by all of those tasks. Hence, for the example above, the task-level | ||
371 | map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this: | ||
372 | |||
373 | 08048000-08049000 r-xp 00000000 03:00 8312 /opt/test | ||
374 | 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test | ||
375 | 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] | ||
376 | a7cb1000-a7cb2000 ---p 00000000 00:00 0 | ||
377 | a7cb2000-a7eb2000 rw-p 00000000 00:00 0 | ||
378 | a7eb2000-a7eb3000 ---p 00000000 00:00 0 | ||
379 | a7eb3000-a7ed5000 rw-p 00000000 00:00 0 [stack] | ||
380 | a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 | ||
381 | a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 | ||
382 | a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 | ||
383 | a800b000-a800e000 rw-p 00000000 00:00 0 | ||
384 | a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 | ||
385 | a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 | ||
386 | a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 | ||
387 | a8024000-a8027000 rw-p 00000000 00:00 0 | ||
388 | a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 | ||
389 | a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 | ||
390 | a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 | ||
391 | aff35000-aff4a000 rw-p 00000000 00:00 0 | ||
392 | ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] | ||
365 | 393 | ||
366 | The /proc/PID/smaps is an extension based on maps, showing the memory | 394 | The /proc/PID/smaps is an extension based on maps, showing the memory |
367 | consumption for each of the process's mappings. For each of mappings there | 395 | consumption for each of the process's mappings. For each of mappings there |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 8cadb7551fca..7986d79d9d17 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -2635,6 +2635,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
2635 | to facilitate early boot debugging. | 2635 | to facilitate early boot debugging. |
2636 | See also Documentation/trace/events.txt | 2636 | See also Documentation/trace/events.txt |
2637 | 2637 | ||
2638 | transparent_hugepage= | ||
2639 | [KNL] | ||
2640 | Format: [always|madvise|never] | ||
2641 | Can be used to control the default behavior of the system | ||
2642 | with respect to transparent hugepages. | ||
2643 | See Documentation/vm/transhuge.txt for more details. | ||
2644 | |||
2638 | tsc= Disable clocksource stability checks for TSC. | 2645 | tsc= Disable clocksource stability checks for TSC. |
2639 | Format: <string> | 2646 | Format: <string> |
2640 | [x86] reliable: mark tsc clocksource as reliable, this | 2647 | [x86] reliable: mark tsc clocksource as reliable, this |
diff --git a/Documentation/vm/page-types.c b/Documentation/vm/page-types.c index 7445caa26d05..0b13f02d4059 100644 --- a/Documentation/vm/page-types.c +++ b/Documentation/vm/page-types.c | |||
@@ -98,6 +98,7 @@ | |||
98 | #define KPF_HWPOISON 19 | 98 | #define KPF_HWPOISON 19 |
99 | #define KPF_NOPAGE 20 | 99 | #define KPF_NOPAGE 20 |
100 | #define KPF_KSM 21 | 100 | #define KPF_KSM 21 |
101 | #define KPF_THP 22 | ||
101 | 102 | ||
102 | /* [32-] kernel hacking assistances */ | 103 | /* [32-] kernel hacking assistances */ |
103 | #define KPF_RESERVED 32 | 104 | #define KPF_RESERVED 32 |
@@ -147,6 +148,7 @@ static const char *page_flag_names[] = { | |||
147 | [KPF_HWPOISON] = "X:hwpoison", | 148 | [KPF_HWPOISON] = "X:hwpoison", |
148 | [KPF_NOPAGE] = "n:nopage", | 149 | [KPF_NOPAGE] = "n:nopage", |
149 | [KPF_KSM] = "x:ksm", | 150 | [KPF_KSM] = "x:ksm", |
151 | [KPF_THP] = "t:thp", | ||
150 | 152 | ||
151 | [KPF_RESERVED] = "r:reserved", | 153 | [KPF_RESERVED] = "r:reserved", |
152 | [KPF_MLOCKED] = "m:mlocked", | 154 | [KPF_MLOCKED] = "m:mlocked", |
diff --git a/Documentation/vm/pagemap.txt b/Documentation/vm/pagemap.txt index df09b9650a81..4600cbe3d6be 100644 --- a/Documentation/vm/pagemap.txt +++ b/Documentation/vm/pagemap.txt | |||
@@ -60,6 +60,7 @@ There are three components to pagemap: | |||
60 | 19. HWPOISON | 60 | 19. HWPOISON |
61 | 20. NOPAGE | 61 | 20. NOPAGE |
62 | 21. KSM | 62 | 21. KSM |
63 | 22. THP | ||
63 | 64 | ||
64 | Short descriptions to the page flags: | 65 | Short descriptions to the page flags: |
65 | 66 | ||
@@ -97,6 +98,9 @@ Short descriptions to the page flags: | |||
97 | 21. KSM | 98 | 21. KSM |
98 | identical memory pages dynamically shared between one or more processes | 99 | identical memory pages dynamically shared between one or more processes |
99 | 100 | ||
101 | 22. THP | ||
102 | contiguous pages which construct transparent hugepages | ||
103 | |||
100 | [IO related page flags] | 104 | [IO related page flags] |
101 | 1. ERROR IO error occurred | 105 | 1. ERROR IO error occurred |
102 | 3. UPTODATE page has up-to-date data | 106 | 3. UPTODATE page has up-to-date data |