OSDN Git Service

Merge tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 Apr 2015 14:55:54 +0000 (07:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 Apr 2015 14:55:54 +0000 (07:55 -0700)
Pull ARC updates from Vineet Gupta:

 - perf fixes/improvements

 - misc cleanups

* tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: perf: don't add code for impossible case
  ARC: perf: Rename DT binding to not confuse with power mgmt
  ARC: perf: add user space attribution in callchains
  ARC: perf: Add kernel callchain support
  ARC: perf: support cache hit/miss ratio
  ARC: perf: Add some comments/debug stuff
  ARC: perf: make @arc_pmu static global
  ARC: mem init spring cleaning - No functional changes
  ARC: Fix RTT boot printing
  ARC: fold __builtin_constant_p() into test_bit()
  ARC: rename unhandled exception handler
  ARC: cosmetic: Remove unused ECR bitfield masks
  ARC: Fix WRITE_BCR
  ARC: [nsimosci] Update defconfig
  arc: copy_thread(): rename 'arg' argument to 'kthread_arg'

1  2 
arch/arc/kernel/process.c

@@@ -49,7 -49,10 +49,10 @@@ void arch_cpu_idle(void
  
  asmlinkage void ret_from_fork(void);
  
- /* Layout of Child kernel mode stack as setup at the end of this function is
+ /*
+  * Copy architecture-specific thread state
+  *
+  * Layout of Child kernel mode stack as setup at the end of this function is
   *
   * |     ...        |
   * |     ...        |
@@@ -81,7 -84,7 +84,7 @@@
   * ------------------  <===== END of PAGE
   */
  int copy_thread(unsigned long clone_flags,
-               unsigned long usp, unsigned long arg,
+               unsigned long usp, unsigned long kthread_arg,
                struct task_struct *p)
  {
        struct pt_regs *c_regs;        /* child's pt_regs */
        if (unlikely(p->flags & PF_KTHREAD)) {
                memset(c_regs, 0, sizeof(struct pt_regs));
  
-               c_callee->r13 = arg; /* argument to kernel thread */
+               c_callee->r13 = kthread_arg;
                c_callee->r14 = usp;  /* function */
  
                return 0;
   */
  void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long usp)
  {
 -      set_fs(USER_DS); /* user space */
 -
        regs->sp = usp;
        regs->ret = pc;