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:
parent
0890b5880d
commit
fa0d4c26be
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user