lkml.org 
[lkml]   [2015]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v3 4/6] ARCv2: perf: implement exclusion of event counting in user or kernel mode
Date
On Monday 24 August 2015 07:50 PM, Alexey Brodkin wrote:
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> ---
>
> No changes since v2.
>
> No changes since v1.
>
> ....
> }
>
> + hwc->config = 0;
> +
> + if (is_isa_arcv2()) {
> + /* "exclude user" means "count only kernel" */
> + if (event->attr.exclude_user)
> + hwc->config |= ARC_REG_PCT_CONFIG_KERN;
> +
> + /* "exclude kernel" means "count only user" */
> + if (event->attr.exclude_kernel)
> + hwc->config |= ARC_REG_PCT_CONFIG_USER;
> + }
> +
> switch (event->attr.type) {
> case PERF_TYPE_HARDWARE:
> if (event->attr.config >= PERF_COUNT_HW_MAX)
> return -ENOENT;
> if (arc_pmu->ev_hw_idx[event->attr.config] < 0)
> return -ENOENT;
> - hwc->config = arc_pmu->ev_hw_idx[event->attr.config];
> + hwc->config |= arc_pmu->ev_hw_idx[event->attr.config];

With raw events patch dropped - this hunk need not be present.

> pr_debug("init event %d with h/w %d \'%s\'\n",
> (int) event->attr.config, (int) hwc->config,
> arc_pmu_ev_hw_map[event->attr.config]);
> @@ -163,7 +175,7 @@ static int arc_pmu_event_init(struct perf_event *event)
> ret = arc_pmu_cache_event(event->attr.config);
> if (ret < 0)
> return ret;
> - hwc->config = arc_pmu->ev_hw_idx[ret];
> + hwc->config |= arc_pmu->ev_hw_idx[ret];
> return 0;
> default:
> return -ENOENT;



\
 
 \ /
  Last update: 2015-08-24 16:41    [W:0.212 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site