|
@@ -258,7 +258,7 @@ int metag_pmu_event_set_period(struct perf_event *event,
|
|
|
|
|
|
static void metag_pmu_start(struct perf_event *event, int flags)
|
|
static void metag_pmu_start(struct perf_event *event, int flags)
|
|
{
|
|
{
|
|
- struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
int idx = hwc->idx;
|
|
int idx = hwc->idx;
|
|
|
|
|
|
@@ -306,7 +306,7 @@ static void metag_pmu_stop(struct perf_event *event, int flags)
|
|
|
|
|
|
static int metag_pmu_add(struct perf_event *event, int flags)
|
|
static int metag_pmu_add(struct perf_event *event, int flags)
|
|
{
|
|
{
|
|
- struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
int idx = 0, ret = 0;
|
|
int idx = 0, ret = 0;
|
|
|
|
|
|
@@ -348,7 +348,7 @@ out:
|
|
|
|
|
|
static void metag_pmu_del(struct perf_event *event, int flags)
|
|
static void metag_pmu_del(struct perf_event *event, int flags)
|
|
{
|
|
{
|
|
- struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
int idx = hwc->idx;
|
|
int idx = hwc->idx;
|
|
|
|
|
|
@@ -597,7 +597,7 @@ static int _hw_perf_event_init(struct perf_event *event)
|
|
|
|
|
|
static void metag_pmu_enable_counter(struct hw_perf_event *event, int idx)
|
|
static void metag_pmu_enable_counter(struct hw_perf_event *event, int idx)
|
|
{
|
|
{
|
|
- struct cpu_hw_events *events = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *events = this_cpu_ptr(&cpu_hw_events);
|
|
unsigned int config = event->config;
|
|
unsigned int config = event->config;
|
|
unsigned int tmp = config & 0xf0;
|
|
unsigned int tmp = config & 0xf0;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
@@ -670,7 +670,7 @@ unlock:
|
|
|
|
|
|
static void metag_pmu_disable_counter(struct hw_perf_event *event, int idx)
|
|
static void metag_pmu_disable_counter(struct hw_perf_event *event, int idx)
|
|
{
|
|
{
|
|
- struct cpu_hw_events *events = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *events = this_cpu_ptr(&cpu_hw_events);
|
|
unsigned int tmp = 0;
|
|
unsigned int tmp = 0;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
@@ -718,7 +718,7 @@ out:
|
|
|
|
|
|
static void metag_pmu_write_counter(int idx, u32 val)
|
|
static void metag_pmu_write_counter(int idx, u32 val)
|
|
{
|
|
{
|
|
- struct cpu_hw_events *events = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *events = this_cpu_ptr(&cpu_hw_events);
|
|
u32 tmp = 0;
|
|
u32 tmp = 0;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
@@ -751,7 +751,7 @@ static int metag_pmu_event_map(int idx)
|
|
static irqreturn_t metag_pmu_counter_overflow(int irq, void *dev)
|
|
static irqreturn_t metag_pmu_counter_overflow(int irq, void *dev)
|
|
{
|
|
{
|
|
int idx = (int)dev;
|
|
int idx = (int)dev;
|
|
- struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events);
|
|
|
|
|
|
+ struct cpu_hw_events *cpuhw = this_cpu_ptr(&cpu_hw_events);
|
|
struct perf_event *event = cpuhw->events[idx];
|
|
struct perf_event *event = cpuhw->events[idx];
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
struct pt_regs *regs = get_irq_regs();
|
|
struct pt_regs *regs = get_irq_regs();
|