[RFC][PATCH 0/7] Resource controllers based on process containers



This patchset adds RSS, accounting and control and
limiting the number of tasks and files within container.

Based on top of Paul Menage's container subsystem v7

RSS controller includes per-container RSS accounter,
reclamation and OOM killer. It behaves like standalone
machine - when container runs out of resources it tries
to reclaim some pages and if it doesn't succeed in it
kills some task which mm_struct belongs to container in
question.

Num tasks and files containers are very simple and
self-descriptive from code.

As discussed before when a task moves from one container
to another no resources follow it - they keep holding the
container they were allocated in.

The difficulties met during using of Pauls' containers were:

1. Container fork hook is placed before new task
changes. This makes impossible of handling fork
properly. I.e. new mm_struct should have pointer
to RSS container, but we don't have one at that
early time.

2. Extended containers may register themselves too late.
Kernel threads/helpers start forking, opening files
and touching pages much earlier. This patchset
workarounds this in not-so-cute manner and I'm waiting
for Paul's comments on this issue.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Add documentation for the RSS controller
    ... Here's the latest version of the RSS documentation patch. ... +The RSS controller has a long history. ... A request for comments for the memory ... +and within the container that groups processes together. ...
    (Linux-Kernel)
  • [RFC][PATCH 0/3] Containers: Integrated RSS and pagecache control v5
    ... Integrated RSS and pagecache accounting and control v5 ... integrated pagecache controller along with RSS controller under the ... code is invoked to recover pages from the container. ...
    (Linux-Kernel)
  • Re: [PATCH mm] fix swapoff breakage; however...
    ... Or swap should be counted along with RSS? ... the RSS accounting to ensure that swapoff will not fail. ... a container over it's limit will not ...
    (Linux-Kernel)
  • Re: [PATCH mm] fix swapoff breakage; however...
    ... you mean RSS + pages swapped out? ... we break the container and the isolation it provides. ... in memory for everyone, even if some have gone over ... their nominal limits. ...
    (Linux-Kernel)
  • Re: [RFC][PATCH 2/7] RSS controller core
    ... all the declarations used in RSS ... +struct page_container; ... bool "RSS accounting container" ... But you have just one list, don't you need active and inactive lists? ...
    (Linux-Kernel)