]> Pileus Git - ~andy/linux/blobdiff - kernel/perf_event.c
perf events: Don't generate events for the idle task when exclude_idle is set
[~andy/linux] / kernel / perf_event.c
index 33ff019f9aa67f0acca6c324ef8fd0a9fcdc2757..7f29643c898549a5e523d07479d581edc4e870f5 100644 (file)
@@ -3959,8 +3959,9 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
                regs = task_pt_regs(current);
 
        if (regs) {
-               if (perf_event_overflow(event, 0, &data, regs))
-                       ret = HRTIMER_NORESTART;
+               if (!(event->attr.exclude_idle && current->pid == 0))
+                       if (perf_event_overflow(event, 0, &data, regs))
+                               ret = HRTIMER_NORESTART;
        }
 
        period = max_t(u64, 10000, event->hw.sample_period);