On Mon, Aug 29, 2016 at 08:58:41PM +0200, Jiri Olsa wrote: > couldn't we just call smp_call_function_single(cpu_to_read, > __perf_event_read, ... > once we read oncpu != -1 ? >
Yes, and at that point we can simply revert this WARN, because that is exactly the same. Which I think is what I'm going to do. If oncpu is not valid, the sched_out that made it invalid will have updated the event count and we're good. All I'll leave is an explicit comment that we've ignored the smp_call_function_single() return value on purpose.