On 7/1/15 4:58 AM, Peter Zijlstra wrote:
But why create a separate trace buffer, it should go into the regular perf buffer.
+1 I think +static char __percpu *perf_extra_trace_buf[PERF_NR_CONTEXTS]; is redundant. It adds quite a bit of unnecessary complexity to the whole patch set. Also the call to bpf_output_sample() is not effective unless program returns 1. It's a confusing user interface. Also you cannot ever do: BPF_FUNC_probe_read, + BPF_FUNC_output_sample, BPF_FUNC_ktime_get_ns, new functions must be added to the end. Why not just do: perf_trace_buf_prepare() + perf_trace_buf_submit() from the helper? No changes to current code. No need to call __get_data_size() and other overhead. The helper can be called multiple times from the same program. imo much cleaner. Also how about calling this helper: bpf_trace_buf_submit(void *stack_ptr, int size) ? bpf_output_sample, I think, is odd name. It's not a sample. May be other name? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/