Re: [PATCH 05/18] alpha: kill big kernel lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 14, 2010 at 3:34 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> All uses of the BKL on alpha are totally bogus, nothing
> is really protected by this. Remove the remaining users
> so we don't have to mark alpha as 'depends on BKL'.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Richard Henderson <rth@xxxxxxxxxxx>
> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
> Cc: Matt Turner <mattst88@xxxxxxxxx>
> Cc: linux-alpha@xxxxxxxxxxxxxxx
> ---
>  arch/alpha/kernel/osf_sys.c |    5 -----
>  arch/alpha/kernel/traps.c   |    3 ---
>  2 files changed, 0 insertions(+), 8 deletions(-)
>
> diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
> index 5d1e6d6..49225dd 100644
> --- a/arch/alpha/kernel/osf_sys.c
> +++ b/arch/alpha/kernel/osf_sys.c
> @@ -15,7 +15,6 @@
>  #include <linux/kernel.h>
>  #include <linux/mm.h>
>  #include <linux/smp.h>
> -#include <linux/smp_lock.h>
>  #include <linux/stddef.h>
>  #include <linux/syscalls.h>
>  #include <linux/unistd.h>
> @@ -69,7 +68,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
>  {
>        struct mm_struct *mm;
>
> -       lock_kernel();
>        mm = current->mm;
>        mm->end_code = bss_start + bss_len;
>        mm->start_brk = bss_start + bss_len;
> @@ -78,7 +76,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
>        printk("set_program_attributes(%lx %lx %lx %lx)\n",
>                text_start, text_len, bss_start, bss_len);
>  #endif
> -       unlock_kernel();
>        return 0;
>  }
>
> @@ -517,7 +514,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
>        long error;
>        int __user *min_buf_size_ptr;
>
> -       lock_kernel();
>        switch (code) {
>        case PL_SET:
>                if (get_user(error, &args->set.nbytes))
> @@ -547,7 +543,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
>                error = -EOPNOTSUPP;
>                break;
>        };
> -       unlock_kernel();
>        return error;
>  }
>
> diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c
> index b14f015..0414e02 100644
> --- a/arch/alpha/kernel/traps.c
> +++ b/arch/alpha/kernel/traps.c
> @@ -13,7 +13,6 @@
>  #include <linux/sched.h>
>  #include <linux/tty.h>
>  #include <linux/delay.h>
> -#include <linux/smp_lock.h>
>  #include <linux/module.h>
>  #include <linux/init.h>
>  #include <linux/kallsyms.h>
> @@ -623,7 +622,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
>                return;
>        }
>
> -       lock_kernel();
>        printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n",
>                pc, va, opcode, reg);
>        do_exit(SIGSEGV);
> @@ -646,7 +644,6 @@ got_exception:
>         * Yikes!  No one to forward the exception to.
>         * Since the registers are in a weird format, dump them ourselves.
>         */
> -       lock_kernel();
>
>        printk("%s(%d): unhandled unaligned exception\n",
>               current->comm, task_pid_nr(current));
> --
> 1.7.1

I can apply this without any other patches in the series, since the
usage is bogus, right?

Thanks,
Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux