Messages in this thread | | | Date | Fri, 28 Aug 2020 18:49:55 -0400 | From | Steven Rostedt <> | Subject | Re: [for-next][PATCH 2/2] tracing: Use temp buffer when filtering events |
| |
On Fri, 28 Aug 2020 15:53:06 +0800 Wen Gong <wgong@codeaurora.org> wrote:
> this patch commit id is : 0fc1b09ff1ff404ddf753f5ffa5cd0adc8fdcdc9 which > has upstream. > > how much size is the per cpu buffer? > seems it is initilized in trace_buffered_event_enable, > it is only 1 page size as below: > void trace_buffered_event_enable(void) > { > ... > for_each_tracing_cpu(cpu) { > page = alloc_pages_node(cpu_to_node(cpu), > GFP_KERNEL | __GFP_NORETRY, 0); > If the size of buffer to trace is more than 1 page, such as 46680, then > it trigger kernel crash/panic in my case while run trace-cmd. > After debugging, the trace_file->flags in > trace_event_buffer_lock_reserve is 0x40b while run trace-cmd, and it is > 0x403 while collecting ftrace log. > > Is it have any operation to disable this patch dynamically?
It shouldn't be disabled, this is a bug that needs to be fixed.
Also, if an event is more than a page, it wont be saved in the ftrace ring buffer, as events are limited by page size minus the headers.
-- Steve
| |