diff options
Diffstat (limited to 'Documentation/cgroups/memory.txt')
-rw-r--r-- | Documentation/cgroups/memory.txt | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt index 44e7ded33448..5e028870ee8a 100644 --- a/Documentation/cgroups/memory.txt +++ b/Documentation/cgroups/memory.txt | |||
@@ -454,21 +454,27 @@ And if you want disable it again: | |||
454 | 8.2 Type of charges which can be move | 454 | 8.2 Type of charges which can be move |
455 | 455 | ||
456 | Each bits of move_charge_at_immigrate has its own meaning about what type of | 456 | Each bits of move_charge_at_immigrate has its own meaning about what type of |
457 | charges should be moved. | 457 | charges should be moved. But in any cases, it must be noted that an account of |
458 | a page or a swap can be moved only when it is charged to the task's current(old) | ||
459 | memory cgroup. | ||
458 | 460 | ||
459 | bit | what type of charges would be moved ? | 461 | bit | what type of charges would be moved ? |
460 | -----+------------------------------------------------------------------------ | 462 | -----+------------------------------------------------------------------------ |
461 | 0 | A charge of an anonymous page(or swap of it) used by the target task. | 463 | 0 | A charge of an anonymous page(or swap of it) used by the target task. |
462 | | Those pages and swaps must be used only by the target task. You must | 464 | | Those pages and swaps must be used only by the target task. You must |
463 | | enable Swap Extension(see 2.4) to enable move of swap charges. | 465 | | enable Swap Extension(see 2.4) to enable move of swap charges. |
464 | 466 | -----+------------------------------------------------------------------------ | |
465 | Note: Those pages and swaps must be charged to the old cgroup. | 467 | 1 | A charge of file pages(normal file, tmpfs file(e.g. ipc shared memory) |
466 | Note: More type of pages(e.g. file cache, shmem,) will be supported by other | 468 | | and swaps of tmpfs file) mmaped by the target task. Unlike the case of |
467 | bits in future. | 469 | | anonymous pages, file pages(and swaps) in the range mmapped by the task |
470 | | will be moved even if the task hasn't done page fault, i.e. they might | ||
471 | | not be the task's "RSS", but other task's "RSS" that maps the same file. | ||
472 | | And mapcount of the page is ignored(the page can be moved even if | ||
473 | | page_mapcount(page) > 1). You must enable Swap Extension(see 2.4) to | ||
474 | | enable move of swap charges. | ||
468 | 475 | ||
469 | 8.3 TODO | 476 | 8.3 TODO |
470 | 477 | ||
471 | - Add support for other types of pages(e.g. file cache, shmem, etc.). | ||
472 | - Implement madvise(2) to let users decide the vma to be moved or not to be | 478 | - Implement madvise(2) to let users decide the vma to be moved or not to be |
473 | moved. | 479 | moved. |
474 | - All of moving charge operations are done under cgroup_mutex. It's not good | 480 | - All of moving charge operations are done under cgroup_mutex. It's not good |