diff options
| -rw-r--r-- | kernel/perf_event.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 9efdfe5b8d3..095101d685b 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c | |||
| @@ -4164,15 +4164,8 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer) | |||
| 4164 | perf_sample_data_init(&data, 0); | 4164 | perf_sample_data_init(&data, 0); |
| 4165 | data.period = event->hw.last_period; | 4165 | data.period = event->hw.last_period; |
| 4166 | regs = get_irq_regs(); | 4166 | regs = get_irq_regs(); |
| 4167 | /* | ||
| 4168 | * In case we exclude kernel IPs or are somehow not in interrupt | ||
| 4169 | * context, provide the next best thing, the user IP. | ||
| 4170 | */ | ||
| 4171 | if ((event->attr.exclude_kernel || !regs) && | ||
| 4172 | !event->attr.exclude_user) | ||
| 4173 | regs = task_pt_regs(current); | ||
| 4174 | 4167 | ||
| 4175 | if (regs) { | 4168 | if (regs && !perf_exclude_event(event, regs)) { |
| 4176 | if (!(event->attr.exclude_idle && current->pid == 0)) | 4169 | if (!(event->attr.exclude_idle && current->pid == 0)) |
| 4177 | if (perf_event_overflow(event, 0, &data, regs)) | 4170 | if (perf_event_overflow(event, 0, &data, regs)) |
| 4178 | ret = HRTIMER_NORESTART; | 4171 | ret = HRTIMER_NORESTART; |
