On Fri, 13 Jan 2017 13:22:43 +0900 Namhyung Kim <namhy...@kernel.org> wrote:
> It's currently fixed to 32 and it ignores when user gives a pattern > which match to functions more than the size. So filtering like all > system calls or many functions with common prefix cannot be set all. > Not sure this is right though. Yes it's small, and there's a reason for it. So I'm giving a conditional nack to the patch. > > This patch adds 'graph_filter_size' file in the tracefs to adjust the > size. It can be changed only if the current tracer is not set. > > Signed-off-by: Namhyung Kim <namhy...@kernel.org> The condition is, we need to fix ftrace_graph_addr() first. for (i = 0; i < ftrace_graph_count; i++) { That gets called at every function being traced. See where I'm heading with that? ;-) We need to create a hash table or binary search first and make that function handle a large ftrace_graph_count before implementing your patch. Remove the linear search, replace it with either a binary search or a hash. But an O(n) algorithm at every function call is out of the question. Thanks! -- Steve