• Steven Rostedt's avatar
    ftrace: limit trace entries · 3eefae99
    Steven Rostedt authored
    Currently there is no protection from the root user to use up all of
    memory for trace buffers. If the root user allocates too many entries,
    the OOM killer might start kill off all tasks.
    
    This patch adds an algorith to check the following condition:
    
     pages_requested > (freeable_memory + current_trace_buffer_pages) / 4
    
    If the above is met then the allocation fails. The above prevents more
    than 1/4th of freeable memory from being used by trace buffers.
    
    To determine the freeable_memory, I made determine_dirtyable_memory in
    mm/page-writeback.c global.
    
    Special thanks goes to Peter Zijlstra for suggesting the above calculation.
    Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    3eefae99
page-writeback.c 36.4 KB