| From d9d0b4f7d466cb1ff91865663bc2fd08c8aef905 Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Sat, 25 Jul 2009 16:18:34 +0200 |
| Subject: [PATCH] oprofile: Convert to raw_spinlock |
| |
| commit 0ef0a8e3224c0edfce698beee0ecfc9fca07e9a8 in tip. |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c |
| index 3fcd752..54a182b 100644 |
| --- a/arch/arm/oprofile/common.c |
| +++ b/arch/arm/oprofile/common.c |
| @@ -48,9 +48,9 @@ static int op_arm_setup(void) |
| { |
| int ret; |
| |
| - spin_lock(&oprofilefs_lock); |
| + raw_spin_lock(&oprofilefs_lock); |
| ret = op_arm_model->setup_ctrs(); |
| - spin_unlock(&oprofilefs_lock); |
| + raw_spin_unlock(&oprofilefs_lock); |
| return ret; |
| } |
| |
| diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c |
| index 3347f69..5db38f1 100644 |
| --- a/arch/x86/oprofile/nmi_int.c |
| +++ b/arch/x86/oprofile/nmi_int.c |
| @@ -321,10 +321,10 @@ static void nmi_cpu_setup(void *dummy) |
| int cpu = smp_processor_id(); |
| struct op_msrs *msrs = &per_cpu(cpu_msrs, cpu); |
| nmi_cpu_save_registers(msrs); |
| - spin_lock(&oprofilefs_lock); |
| + raw_spin_lock(&oprofilefs_lock); |
| model->setup_ctrs(model, msrs); |
| nmi_cpu_setup_mux(cpu, msrs); |
| - spin_unlock(&oprofilefs_lock); |
| + raw_spin_unlock(&oprofilefs_lock); |
| per_cpu(saved_lvtpc, cpu) = apic_read(APIC_LVTPC); |
| apic_write(APIC_LVTPC, APIC_DM_NMI); |
| } |
| diff --git a/drivers/oprofile/event_buffer.c b/drivers/oprofile/event_buffer.c |
| index 5df60a6..9a60ccc 100644 |
| --- a/drivers/oprofile/event_buffer.c |
| +++ b/drivers/oprofile/event_buffer.c |
| @@ -82,10 +82,10 @@ int alloc_event_buffer(void) |
| { |
| unsigned long flags; |
| |
| - spin_lock_irqsave(&oprofilefs_lock, flags); |
| + raw_spin_lock_irqsave(&oprofilefs_lock, flags); |
| buffer_size = oprofile_buffer_size; |
| buffer_watershed = oprofile_buffer_watershed; |
| - spin_unlock_irqrestore(&oprofilefs_lock, flags); |
| + raw_spin_unlock_irqrestore(&oprofilefs_lock, flags); |
| |
| if (buffer_watershed >= buffer_size) |
| return -EINVAL; |
| diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c |
| index 2766a6d..049ab37 100644 |
| --- a/drivers/oprofile/oprofilefs.c |
| +++ b/drivers/oprofile/oprofilefs.c |
| @@ -21,7 +21,7 @@ |
| |
| #define OPROFILEFS_MAGIC 0x6f70726f |
| |
| -DEFINE_SPINLOCK(oprofilefs_lock); |
| +DEFINE_RAW_SPINLOCK(oprofilefs_lock); |
| |
| static struct inode *oprofilefs_get_inode(struct super_block *sb, int mode) |
| { |
| @@ -75,9 +75,9 @@ int oprofilefs_ulong_from_user(unsigned long *val, char const __user *buf, size_ |
| if (copy_from_user(tmpbuf, buf, count)) |
| return -EFAULT; |
| |
| - spin_lock_irqsave(&oprofilefs_lock, flags); |
| + raw_spin_lock_irqsave(&oprofilefs_lock, flags); |
| *val = simple_strtoul(tmpbuf, NULL, 0); |
| - spin_unlock_irqrestore(&oprofilefs_lock, flags); |
| + raw_spin_unlock_irqrestore(&oprofilefs_lock, flags); |
| return 0; |
| } |
| |
| diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h |
| index 5171639..7d4ed4d 100644 |
| --- a/include/linux/oprofile.h |
| +++ b/include/linux/oprofile.h |
| @@ -156,7 +156,7 @@ ssize_t oprofilefs_ulong_to_user(unsigned long val, char __user * buf, size_t co |
| int oprofilefs_ulong_from_user(unsigned long * val, char const __user * buf, size_t count); |
| |
| /** lock for read/write safety */ |
| -extern spinlock_t oprofilefs_lock; |
| +extern raw_spinlock_t oprofilefs_lock; |
| |
| /** |
| * Add the contents of a circular buffer to the event buffer. |
| -- |
| 1.7.1.1 |
| |