[lkml]   [2018]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v3 00/12] perf/core: Generalise event exclusion checking
On Thu, Dec 06, 2018 at 04:47:17PM +0000, Andrew Murray wrote:
> Many PMU drivers do not have the capability to exclude counting events
> that occur in specific contexts such as idle, kernel, guest, etc. These
> drivers indicate this by returning an error in their event_init upon
> testing the events attribute flags.
> However this approach requires that each time a new event modifier is
> added to perf, all the perf drivers need to be modified to indicate that
> they don't support the attribute. This results in additional boiler-plate
> code common to many drivers that needs to be maintained. Furthermore the
> drivers are not consistent with regards to the error value they return
> when reporting unsupported attributes.
> This patchset allow PMU drivers to advertise their inability to exclude
> based on context via a new capability: PERF_PMU_CAP_NO_EXCLUDE. This
> allows the perf core to reject requests for exclusion events where there
> is no support in the PMU.
> This is a functional change, in particular:
> - Some drivers will now additionally (but correctly) report unsupported
> exclusion flags. It's typical for existing userspace tools such as
> perf to handle such errors by retrying the system call without the
> unsupported flags.
> - Drivers that do not support any exclusion that previously reported
> -EPERM or -EOPNOTSUPP will now report -EINVAL - this is consistent
> with the majority and results in userspace perf retrying without
> exclusion.
> All drivers touched by this patchset have been compile tested.

For the bits under arch/arm/ and drivers/perf:

Acked-by: Will Deacon <>

Note that I've queued the TX2 uncore PMU for 4.21 [1], which could also
benefit from your new flag.



 \ /
  Last update: 2018-12-07 18:25    [W:0.114 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site