Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

authored by

Thomas Gleixner and committed by
Benjamin Herrenschmidt
071c06cb b8f87782

+5 -5
+5 -5
arch/powerpc/kernel/pmc.c
··· 37 37 } 38 38 39 39 40 - static DEFINE_SPINLOCK(pmc_owner_lock); 40 + static DEFINE_RAW_SPINLOCK(pmc_owner_lock); 41 41 static void *pmc_owner_caller; /* mostly for debugging */ 42 42 perf_irq_t perf_irq = dummy_perf; 43 43 ··· 45 45 { 46 46 int err = 0; 47 47 48 - spin_lock(&pmc_owner_lock); 48 + raw_spin_lock(&pmc_owner_lock); 49 49 50 50 if (pmc_owner_caller) { 51 51 printk(KERN_WARNING "reserve_pmc_hardware: " ··· 59 59 perf_irq = new_perf_irq ? new_perf_irq : dummy_perf; 60 60 61 61 out: 62 - spin_unlock(&pmc_owner_lock); 62 + raw_spin_unlock(&pmc_owner_lock); 63 63 return err; 64 64 } 65 65 EXPORT_SYMBOL_GPL(reserve_pmc_hardware); 66 66 67 67 void release_pmc_hardware(void) 68 68 { 69 - spin_lock(&pmc_owner_lock); 69 + raw_spin_lock(&pmc_owner_lock); 70 70 71 71 WARN_ON(! pmc_owner_caller); 72 72 73 73 pmc_owner_caller = NULL; 74 74 perf_irq = dummy_perf; 75 75 76 - spin_unlock(&pmc_owner_lock); 76 + raw_spin_unlock(&pmc_owner_lock); 77 77 } 78 78 EXPORT_SYMBOL_GPL(release_pmc_hardware); 79 79