lkml.org 
[lkml]   [2015]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 3/9] perf/x86: Add is_hardware_event
Date
From: Kan Liang <kan.liang@intel.com>

Using is_hardware_event to replace !is_software_event to indicate a
hardware event.

Signed-off-by: Kan Liang <kan.liang@intel.com>
---
include/linux/perf_event.h | 7 ++++++-
kernel/events/core.c | 6 +++---
2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2027809..fea0ddf 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -761,13 +761,18 @@ static inline bool is_sampling_event(struct perf_event *event)
}

/*
- * Return 1 for a software event, 0 for a hardware event
+ * Return 1 for a software event, 0 for other event
*/
static inline int is_software_event(struct perf_event *event)
{
return event->pmu->task_ctx_nr == perf_sw_context;
}

+static inline int is_hardware_event(struct perf_event *event)
+{
+ return event->pmu->task_ctx_nr == perf_hw_context;
+}
+
extern struct static_key perf_swevent_enabled[PERF_COUNT_SW_MAX];

extern void ___perf_sw_event(u32, u64, struct pt_regs *, u64);
diff --git a/kernel/events/core.c b/kernel/events/core.c
index d3dae34..9077867 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -1347,7 +1347,7 @@ static void perf_group_attach(struct perf_event *event)
WARN_ON_ONCE(group_leader->ctx != event->ctx);

if (group_leader->group_flags & PERF_GROUP_SOFTWARE &&
- !is_software_event(event))
+ is_hardware_event(event))
group_leader->group_flags &= ~PERF_GROUP_SOFTWARE;

list_add_tail(&event->group_entry, &group_leader->sibling_list);
@@ -1553,7 +1553,7 @@ event_sched_out(struct perf_event *event,
event->pmu->del(event, 0);
event->oncpu = -1;

- if (!is_software_event(event))
+ if (is_hardware_event(event))
cpuctx->active_oncpu--;
if (!--ctx->nr_active)
perf_event_ctx_deactivate(ctx);
@@ -1881,7 +1881,7 @@ event_sched_in(struct perf_event *event,
goto out;
}

- if (!is_software_event(event))
+ if (is_hardware_event(event))
cpuctx->active_oncpu++;
if (!ctx->nr_active++)
perf_event_ctx_activate(ctx);
--
1.8.3.1


\
 
 \ /
  Last update: 2015-07-17 06:01    [W:0.140 / U:1.820 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site