parisc: remove big kernel lock

The parisc version of the perf code is sufficiently
protected by its own spinlock, no need to use the BKL.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: linux-parisc@vger.kernel.org
This commit is contained in:
Arnd Bergmann 2010-09-11 18:24:46 +02:00
parent 0890b5880d
commit fa0d4c26be

View File

@ -46,7 +46,6 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/miscdevice.h> #include <linux/miscdevice.h>
#include <linux/smp_lock.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
@ -261,16 +260,13 @@ printk("Preparing to start counters\n");
*/ */
static int perf_open(struct inode *inode, struct file *file) static int perf_open(struct inode *inode, struct file *file)
{ {
lock_kernel();
spin_lock(&perf_lock); spin_lock(&perf_lock);
if (perf_enabled) { if (perf_enabled) {
spin_unlock(&perf_lock); spin_unlock(&perf_lock);
unlock_kernel();
return -EBUSY; return -EBUSY;
} }
perf_enabled = 1; perf_enabled = 1;
spin_unlock(&perf_lock); spin_unlock(&perf_lock);
unlock_kernel();
return 0; return 0;
} }