]> git.baikalelectronics.ru Git - kernel.git/commit
ring-buffer: Add set/clear_current_oom_origin() during allocations
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Wed, 4 Apr 2018 15:29:57 +0000 (11:29 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 6 Apr 2018 12:56:52 +0000 (08:56 -0400)
commit67b37ff9d2a8b86d29be091b37d875650287988d
treefb922defc804cd746ff42d3a784e4aee0014dcb8
parent29f9be32bf54883c5bc8ac4251cbfbcf1c7dae72
ring-buffer: Add set/clear_current_oom_origin() during allocations

As si_mem_available() can say there is enough memory even though the memory
available is not useable by the ring buffer, it is best to not kill innocent
applications because the ring buffer is taking up all the memory while it is
trying to allocate a great deal of memory.

If the allocator is user space (because kernel threads can also increase the
size of the kernel ring buffer on boot up), then after si_mem_available()
says there is enough memory, set the OOM killer to kill the current task if
an OOM triggers during the allocation.

Link: http://lkml.kernel.org/r/20180404062340.GD6312@dhcp22.suse.cz
Suggested-by: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/ring_buffer.c