tile: Use this_cpu_ptr() for hardware counters
Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
b4f501916c
commit
81829a9686
|
@ -590,7 +590,7 @@ static int tile_event_set_period(struct perf_event *event)
|
||||||
*/
|
*/
|
||||||
static void tile_pmu_stop(struct perf_event *event, int flags)
|
static void tile_pmu_stop(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;
|
||||||
|
|
||||||
|
@ -616,7 +616,7 @@ static void tile_pmu_stop(struct perf_event *event, int flags)
|
||||||
*/
|
*/
|
||||||
static void tile_pmu_start(struct perf_event *event, int flags)
|
static void tile_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);
|
||||||
int idx = event->hw.idx;
|
int idx = event->hw.idx;
|
||||||
|
|
||||||
if (WARN_ON_ONCE(!(event->hw.state & PERF_HES_STOPPED)))
|
if (WARN_ON_ONCE(!(event->hw.state & PERF_HES_STOPPED)))
|
||||||
|
@ -650,7 +650,7 @@ static void tile_pmu_start(struct perf_event *event, int flags)
|
||||||
*/
|
*/
|
||||||
static int tile_pmu_add(struct perf_event *event, int flags)
|
static int tile_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;
|
struct hw_perf_event *hwc;
|
||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
int b, max_cnt;
|
int b, max_cnt;
|
||||||
|
@ -706,7 +706,7 @@ static int tile_pmu_add(struct perf_event *event, int flags)
|
||||||
*/
|
*/
|
||||||
static void tile_pmu_del(struct perf_event *event, int flags)
|
static void tile_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);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -880,14 +880,14 @@ static struct pmu tilera_pmu = {
|
||||||
int tile_pmu_handle_irq(struct pt_regs *regs, int fault)
|
int tile_pmu_handle_irq(struct pt_regs *regs, int fault)
|
||||||
{
|
{
|
||||||
struct perf_sample_data data;
|
struct perf_sample_data data;
|
||||||
struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
|
struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
|
||||||
struct perf_event *event;
|
struct perf_event *event;
|
||||||
struct hw_perf_event *hwc;
|
struct hw_perf_event *hwc;
|
||||||
u64 val;
|
u64 val;
|
||||||
unsigned long status;
|
unsigned long status;
|
||||||
int bit;
|
int bit;
|
||||||
|
|
||||||
__get_cpu_var(perf_irqs)++;
|
__this_cpu_inc(perf_irqs);
|
||||||
|
|
||||||
if (!atomic_read(&tile_active_events))
|
if (!atomic_read(&tile_active_events))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue