Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'perf-urgent-2025-04-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull misc perf events fixes from Ingo Molnar:

- Use POLLERR for events in error state, instead of the ambiguous
POLLHUP error value

- Fix non-sampling (counting) events on certain x86 platforms

* tag 'perf-urgent-2025-04-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf/x86: Fix non-sampling (counting) events on certain x86 platforms
perf/core: Change to POLLERR for pinned events with error

+3 -3
+1 -1
arch/x86/events/core.c
··· 629 629 if (event->attr.type == event->pmu->type) 630 630 event->hw.config |= x86_pmu_get_event_config(event); 631 631 632 - if (!event->attr.freq && x86_pmu.limit_period) { 632 + if (is_sampling_event(event) && !event->attr.freq && x86_pmu.limit_period) { 633 633 s64 left = event->attr.sample_period; 634 634 x86_pmu.limit_period(event, &left); 635 635 if (left > event->attr.sample_period)
+2 -2
kernel/events/core.c
··· 3943 3943 perf_event_set_state(event, PERF_EVENT_STATE_ERROR); 3944 3944 3945 3945 if (*perf_event_fasync(event)) 3946 - event->pending_kill = POLL_HUP; 3946 + event->pending_kill = POLL_ERR; 3947 3947 3948 3948 perf_event_wakeup(event); 3949 3949 } else { ··· 6075 6075 6076 6076 if (unlikely(READ_ONCE(event->state) == PERF_EVENT_STATE_ERROR && 6077 6077 event->attr.pinned)) 6078 - return events; 6078 + return EPOLLERR; 6079 6079 6080 6080 /* 6081 6081 * Pin the event->rb by taking event->mmap_mutex; otherwise