Merge branch 'perf/urgent' into perf/core, to resolve conflict
authorIngo Molnar <mingo@kernel.org>
Thu, 28 Apr 2016 08:35:17 +0000 (10:35 +0200)
committerIngo Molnar <mingo@kernel.org>
Thu, 28 Apr 2016 08:35:17 +0000 (10:35 +0200)
 Conflicts:
arch/x86/events/intel/pt.c

Signed-off-by: Ingo Molnar <mingo@kernel.org>
1  2 
arch/x86/events/intel/lbr.c
arch/x86/events/intel/pt.c
kernel/events/core.c

Simple merge
index 1aefd430e75224d3fa5219b84b81313da553688e,09a77dbc73c93110a40d2afbf2dedc86e50ea44f..05ef87d839fd8d75dd15f8ceba68f4190339348a
@@@ -969,18 -1038,15 +1018,21 @@@ EXPORT_SYMBOL_GPL(intel_pt_handle_vmx)
  
  static void pt_event_start(struct perf_event *event, int mode)
  {
 +      struct hw_perf_event *hwc = &event->hw;
        struct pt *pt = this_cpu_ptr(&pt_ctx);
 -      struct pt_buffer *buf = perf_get_aux(&pt->handle);
 +      struct pt_buffer *buf;
  
 -      if (!buf || pt_buffer_is_full(buf, pt)) {
 -              event->hw.state = PERF_HES_STOPPED;
 -              return;
+       if (READ_ONCE(pt->vmx_on))
+               return;
 +      buf = perf_aux_output_begin(&pt->handle, event);
 +      if (!buf)
 +              goto fail_stop;
 +
 +      pt_buffer_reset_offsets(buf, pt->handle.head);
 +      if (!buf->snapshot) {
 +              if (pt_buffer_reset_markers(buf, &pt->handle))
 +                      goto fail_end_stop;
        }
  
        ACCESS_ONCE(pt->handle_nmi) = 1;
Simple merge