Commit 071c06cb authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Benjamin Herrenschmidt

powerpc: Convert pmc_owner_lock to raw_spinlock

pmc_owner_lock needs to be a real spinlock in RT. Convert it to
raw_spinlock.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent b8f87782
...@@ -37,7 +37,7 @@ static void dummy_perf(struct pt_regs *regs) ...@@ -37,7 +37,7 @@ static void dummy_perf(struct pt_regs *regs)
} }
static DEFINE_SPINLOCK(pmc_owner_lock); static DEFINE_RAW_SPINLOCK(pmc_owner_lock);
static void *pmc_owner_caller; /* mostly for debugging */ static void *pmc_owner_caller; /* mostly for debugging */
perf_irq_t perf_irq = dummy_perf; perf_irq_t perf_irq = dummy_perf;
...@@ -45,7 +45,7 @@ int reserve_pmc_hardware(perf_irq_t new_perf_irq) ...@@ -45,7 +45,7 @@ int reserve_pmc_hardware(perf_irq_t new_perf_irq)
{ {
int err = 0; int err = 0;
spin_lock(&pmc_owner_lock); raw_spin_lock(&pmc_owner_lock);
if (pmc_owner_caller) { if (pmc_owner_caller) {
printk(KERN_WARNING "reserve_pmc_hardware: " printk(KERN_WARNING "reserve_pmc_hardware: "
...@@ -59,21 +59,21 @@ int reserve_pmc_hardware(perf_irq_t new_perf_irq) ...@@ -59,21 +59,21 @@ int reserve_pmc_hardware(perf_irq_t new_perf_irq)
perf_irq = new_perf_irq ? new_perf_irq : dummy_perf; perf_irq = new_perf_irq ? new_perf_irq : dummy_perf;
out: out:
spin_unlock(&pmc_owner_lock); raw_spin_unlock(&pmc_owner_lock);
return err; return err;
} }
EXPORT_SYMBOL_GPL(reserve_pmc_hardware); EXPORT_SYMBOL_GPL(reserve_pmc_hardware);
void release_pmc_hardware(void) void release_pmc_hardware(void)
{ {
spin_lock(&pmc_owner_lock); raw_spin_lock(&pmc_owner_lock);
WARN_ON(! pmc_owner_caller); WARN_ON(! pmc_owner_caller);
pmc_owner_caller = NULL; pmc_owner_caller = NULL;
perf_irq = dummy_perf; perf_irq = dummy_perf;
spin_unlock(&pmc_owner_lock); raw_spin_unlock(&pmc_owner_lock);
} }
EXPORT_SYMBOL_GPL(release_pmc_hardware); EXPORT_SYMBOL_GPL(release_pmc_hardware);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment