Messages in this thread | | | From | Vaibhav Nagarnaik <> | Date | Thu, 26 May 2011 16:23:58 -0700 | Subject | Re: [PATCH] trace: Set oom_score_adj to maximum for ring buffer allocating process |
| |
On Thu, May 26, 2011 at 2:00 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > I'm thinking the oom killer used here got lucky. As it killed this task, > we were still out of memory, and the ring buffer failed to get the > memory it needed and freed up everything that it previously allocated, > and returned. Then the process calling this function would be killed by
I have tested this multiple times and I don't see any other process being killed, regardless of who invoked oom-killer. The oom-killer always selects the "echo" process to kill because of its maximum oom_score_adj and sets TIF_MEMDIE. Since the ring buffer is still getting allocated, any further allocation from this process fails because of this flag and the fatal signal pending. This causes the ring buffer memory to be freed.
I don't see the oom-killer getting lucky in my test cases.
Vaibhav Nagarnaik
| |