Messages in this thread | | | Date | Wed, 16 Nov 2011 15:39:39 +0530 | Subject | Re: [RFC PATCH V2] Enforce RSS+Swap rlimit | From | Balbir Singh <> |
| |
On Tue, Nov 15, 2011 at 6:40 PM, Jerome Marchand <jmarchan@redhat.com> wrote: > > Change since V1: rebase on 3.2-rc1 > > Currently RSS rlimit is not enforced. We can not forbid a process to exceeds > its RSS limit and allow it swap out. That would hurts the performance of all > system, even when memory resources are plentiful. > > Therefore, instead of enforcing a limit on rss usage alone, this patch enforces > a limit on rss+swap value. This is similar to memsw limits of cgroup. > If a process rss+swap usage exceeds RLIMIT_RSS max limit, he received a SIGBUS > signal. > > My tests show that code in do_anonymous_page() and __do_fault() indeed prevents > processes to get more memory than the limit and I haven't seen any adverse > effect, but so far, I have no test coverage of the code in do_wp_page(). I'm > not sure how to test it. > > Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
I think we need the get_mm_rss* definitions need to be revisited and agreed upon. I am afraid it cannot be simple addition, since
1. It does not account for shared pages 2. If we enforce a limit without accounting for sharing, we might enforce wrong limits
Balbir
| |