On 11 December 2015 at 08:18, Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> wrote: > Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> writes: > >> +static void etm_event_start(struct perf_event *event, int flags) >> +{ >> + int cpu = smp_processor_id(); >> + struct etm_cpu_data *cpu_data; >> + struct etm_event_data *event_data; >> + struct perf_output_handle *handle = this_cpu_ptr(&ctx_handle); >> + struct coresight_device *sink, *csdev = per_cpu(csdev_src, cpu); >> + >> + if (!csdev) >> + goto fail; >> + >> + /* >> + * Deal with the ring buffer API and get a handle on the >> + * session's information. >> + */ >> + event_data = perf_aux_output_begin(handle, event); >> + if (WARN_ON_ONCE(!event_data)) >> + goto fail; > > Hmm, perf_aux_output_begin() returning NULL is not WARN-worthy and is > actually a normal situation, for example, if the buffer is not > configured yet (which like I suggested in the other email should be a > separate thing from the *event* configuration). > > perf_aux_output_begin() will also return NULL if there's no room in the > buffer. You are correct - I'll revise this. > > Regards, > -- > Alex -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html