• Steven Rostedt's avatar
    ftrace: Separate hash allocation and assignment · 33dc9b12
    Steven Rostedt authored
    When filtering, allocate a hash to insert the function records.
    After the filtering is complete, assign it to the ftrace_ops structure.
    
    This allows the ftrace_ops structure to have a much smaller array of
    hash buckets instead of wasting a lot of memory.
    
    A read only empty_hash is created to be the minimum size that any ftrace_ops
    can point to.
    
    When a new hash is created, it has the following steps:
    
    o Allocate a default hash.
    o Walk the function records assigning the filtered records to the hash
    o Allocate a new hash with the appropriate size buckets
    o Move the entries from the default hash to the new hash.
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    33dc9b12
ftrace.c 77.7 KB