1. 04 5月, 2014 5 次提交
  2. 26 4月, 2014 1 次提交
  3. 25 4月, 2014 3 次提交
    • L
      arm64: initialize spinlock for init_mm's context · 8f071203
      Leo Yan 提交于
      ARM64 has defined the spinlock for init_mm's context, so need initialize
      the spinlock structure; otherwise during the suspend flow it will dump
      the info for spinlock's bad magic warning as below:
      
      [   39.084394] Disabling non-boot CPUs ...
      [   39.092871] BUG: spinlock bad magic on CPU#1, swapper/1/0
      [   39.092896]  lock: init_mm+0x338/0x3e0, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
      [   39.092907] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G           O 3.10.33 #125
      [   39.092912] Call trace:
      [   39.092927] [<ffffffc000087e64>] dump_backtrace+0x0/0x16c
      [   39.092934] [<ffffffc000087fe0>] show_stack+0x10/0x1c
      [   39.092947] [<ffffffc000765334>] dump_stack+0x1c/0x28
      [   39.092953] [<ffffffc0007653b8>] spin_dump+0x78/0x88
      [   39.092960] [<ffffffc0007653ec>] spin_bug+0x24/0x34
      [   39.092971] [<ffffffc000300a28>] do_raw_spin_lock+0x98/0x17c
      [   39.092979] [<ffffffc00076cf08>] _raw_spin_lock_irqsave+0x4c/0x60
      [   39.092990] [<ffffffc000094044>] set_mm_context+0x1c/0x6c
      [   39.092996] [<ffffffc0000941c8>] __new_context+0x94/0x10c
      [   39.093007] [<ffffffc0000d63d4>] idle_task_exit+0x104/0x1b0
      [   39.093014] [<ffffffc00008d91c>] cpu_die+0x14/0x74
      [   39.093021] [<ffffffc000084f74>] arch_cpu_idle_dead+0x8/0x14
      [   39.093030] [<ffffffc0000e7f18>] cpu_startup_entry+0x1ec/0x258
      [   39.093036] [<ffffffc00008d810>] secondary_start_kernel+0x114/0x124
      Signed-off-by: NLeo Yan <leoy@marvell.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      8f071203
    • W
      arm64: debug: remove noisy, pointless warning · 43683afb
      Will Deacon 提交于
      Sending a SIGTRAP to a user task after execution of a BRK instruction at
      EL0 is fundamental to the way in which software breakpoints work and
      doesn't deserve a warning to be logged in dmesg. Whilst the warning can
      be justified from EL1, do_debug_exception will already do the right thing,
      so simply remove the code altogether.
      
      Cc: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
      Reported-by: NKyrylo Tkachov <kyrylo.tkachov@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      43683afb
    • S
      arm64: mm: Add THP TLB entries to general mmu_gather · 2eb835e0
      Steve Capper 提交于
      When arm64 moved over to the core mmu_gather, it lost the logic to
      flush THP TLB entries (tlb_remove_pmd_tlb_entry was removed and the
      core implementation only signals that the mmu_gather needs a flush).
      
      This patch ensures that tlb_add_flush is called for THP TLB entries.
      Signed-off-by: NSteve Capper <steve.capper@linaro.org>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      2eb835e0
  4. 23 4月, 2014 3 次提交
  5. 08 4月, 2014 5 次提交
  6. 07 4月, 2014 1 次提交
    • M
      arm64: fix !CONFIG_COMPAT build failures · ff268ff7
      Mark Salter 提交于
      Recent arm64 builds using CONFIG_ARM64_64K_PAGES are failing with:
      
        arch/arm64/kernel/perf_regs.c: In function ‘perf_reg_abi’:
        arch/arm64/kernel/perf_regs.c:41:2: error: implicit declaration of function ‘is_compat_thread’
      
        arch/arm64/kernel/perf_event.c:1398:2: error: unknown type name ‘compat_uptr_t’
      
      This is due to some recent arm64 perf commits with compat support:
      
        commit 23c7d70d:
          ARM64: perf: add support for frame pointer unwinding in compat mode
      
        commit 2ee0d7fd:
          ARM64: perf: add support for perf registers API
      
      Those patches make the arm64 kernel unbuildable if CONFIG_COMPAT is not
      defined and CONFIG_ARM64_64K_PAGES depends on !CONFIG_COMPAT. This patch
      allows the arm64 kernel to build with and without CONFIG_COMPAT.
      Signed-off-by: NMark Salter <msalter@redhat.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      ff268ff7
  7. 05 4月, 2014 2 次提交
  8. 03 4月, 2014 2 次提交
  9. 24 3月, 2014 3 次提交
  10. 21 3月, 2014 1 次提交
  11. 20 3月, 2014 2 次提交
    • S
      arm64, debug-monitors: Fix CPU hotplug callback registration · 4b0b68af
      Srivatsa S. Bhat 提交于
      Subsystems that want to register CPU hotplug callbacks, as well as perform
      initialization for the CPUs that are already online, often do it as shown
      below:
      
      	get_online_cpus();
      
      	for_each_online_cpu(cpu)
      		init_cpu(cpu);
      
      	register_cpu_notifier(&foobar_cpu_notifier);
      
      	put_online_cpus();
      
      This is wrong, since it is prone to ABBA deadlocks involving the
      cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
      with CPU hotplug operations).
      
      Instead, the correct and race-free way of performing the callback
      registration is:
      
      	cpu_notifier_register_begin();
      
      	for_each_online_cpu(cpu)
      		init_cpu(cpu);
      
      	/* Note the use of the double underscored version of the API */
      	__register_cpu_notifier(&foobar_cpu_notifier);
      
      	cpu_notifier_register_done();
      
      Fix the debug-monitors code in arm64 by using this latter form of callback
      registration.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Ingo Molnar <mingo@kernel.org>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4b0b68af
    • S
      arm64, hw_breakpoint.c: Fix CPU hotplug callback registration · 3d0dc643
      Srivatsa S. Bhat 提交于
      Subsystems that want to register CPU hotplug callbacks, as well as perform
      initialization for the CPUs that are already online, often do it as shown
      below:
      
      	get_online_cpus();
      
      	for_each_online_cpu(cpu)
      		init_cpu(cpu);
      
      	register_cpu_notifier(&foobar_cpu_notifier);
      
      	put_online_cpus();
      
      This is wrong, since it is prone to ABBA deadlocks involving the
      cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
      with CPU hotplug operations).
      
      Instead, the correct and race-free way of performing the callback
      registration is:
      
      	cpu_notifier_register_begin();
      
      	for_each_online_cpu(cpu)
      		init_cpu(cpu);
      
      	/* Note the use of the double underscored version of the API */
      	__register_cpu_notifier(&foobar_cpu_notifier);
      
      	cpu_notifier_register_done();
      
      Fix the hw-breakpoint code in arm64 by using this latter form of callback
      registration.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3d0dc643
  12. 19 3月, 2014 1 次提交
  13. 18 3月, 2014 2 次提交
  14. 15 3月, 2014 3 次提交
  15. 13 3月, 2014 6 次提交