• Steven Rostedt's avatar
    tracing: move function profiler data out of function struct · 493762fc
    Steven Rostedt authored
    Impact: reduce size of memory in function profiler
    
    The function profiler originally introduces its counters into the
    function records itself. There is 20 thousand different functions on
    a normal system, and that is adding 20 thousand counters for profiling
    event when not needed.
    
    A normal run of the profiler yields only a couple of thousand functions
    executed, depending on what is being profiled. This means we have around
    18 thousand useless counters.
    
    This patch rectifies this by moving the data out of the function
    records used by dynamic ftrace. Data is preallocated to hold the functions
    when the profiling begins. Checks are made during profiling to see if
    more recorcds should be allocated, and they are allocated if it is safe
    to do so.
    
    This also removes the dependency from using dynamic ftrace, and also
    removes the overhead by having it enabled.
    Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
    493762fc
ftrace.c 64.7 KB