1. 26 2月, 2011 2 次提交
  2. 22 2月, 2011 4 次提交
  3. 19 2月, 2011 2 次提交
  4. 12 2月, 2011 2 次提交
  5. 10 2月, 2011 2 次提交
  6. 01 2月, 2011 1 次提交
  7. 26 1月, 2011 1 次提交
  8. 15 1月, 2011 3 次提交
    • R
      ARM: fix missing branch in __error_a · cb4d3eae
      Russell King 提交于
      When DEBUG_LL is not set, we don't want __error_a re-entering
      __lookup_machine_type - we want it to go to the error function.  This
      used to be the case before we reorganized the layout for hotplug cpu,
      as we used to fall through to __error.  With the changed layout, we
      need an explicit branch here instead.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      cb4d3eae
    • R
      ARM: fix /proc/$PID/stack on SMP · d5996b2f
      Russell King 提交于
      Rabin Vincent reports:
      | On SMP, this BUG() in save_stack_trace_tsk() can be easily triggered
      | from user space by reading /proc/$PID/stack, where $PID is any pid but
      | the current process:
      |
      |	if (tsk != current) {
      | #ifdef CONFIG_SMP
      |		/*
      |		 * What guarantees do we have here that 'tsk'
      |		 * is not running on another CPU?
      |		 */
      |		BUG();
      | #else
      
      Fix this by replacing the BUG() with an entry to terminate the stack
      trace, returning an empty trace - I'd rather not expose the dwarf
      unwinder to a volatile stack of a running thread.
      Reported-by: NRabin Vincent <rabin@rab.in>
      Tested-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d5996b2f
    • D
      ARM: 6625/1: use memblock memory regions for "System RAM" I/O resources · 11b9369c
      Dima Zavin 提交于
      Do not use memory bank info to request the "system ram" resources as
      they do not track holes created by memblock_remove inside
      machine's reserve callback. If the removed memory is passed as
      platform_device's ioresource, then drivers that call
      request_mem_region would fail due to a conflict with the incorrectly
      configured system ram resource.
      
      Instead, iterate through the regions of memblock.memory and add
      those as "System RAM" resources.
      Signed-off-by: NDima Zavin <dima@android.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      11b9369c
  9. 14 1月, 2011 1 次提交
    • D
      mm: unify module_alloc code for vmalloc · d0a21265
      David Rientjes 提交于
      Four architectures (arm, mips, sparc, x86) use __vmalloc_area() for
      module_init().  Much of the code is duplicated and can be generalized in a
      globally accessible function, __vmalloc_node_range().
      
      __vmalloc_node() now calls into __vmalloc_node_range() with a range of
      [VMALLOC_START, VMALLOC_END) for functionally equivalent behavior.
      
      Each architecture may then use __vmalloc_node_range() directly to remove
      the duplication of code.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d0a21265
  10. 13 1月, 2011 2 次提交
  11. 12 1月, 2011 4 次提交
  12. 11 1月, 2011 1 次提交
  13. 24 12月, 2010 5 次提交
  14. 23 12月, 2010 1 次提交
  15. 22 12月, 2010 2 次提交
  16. 21 12月, 2010 1 次提交
  17. 20 12月, 2010 6 次提交
    • R
      ARM: SMP: split out software TLB maintainence broadcasting · 03b505ea
      Russell King 提交于
      smp.c is becoming too large, so split out the TLB maintainence
      broadcasting into a separate smp_tlb.c file.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      03b505ea
    • R
      ARM: localtimer: clean up local timer on hot unplug · 10034aab
      Russell King 提交于
      When a CPU is hot unplugged, the generic tick code cleans up the
      clock event device, but fails to call down to the device's set_mode
      function to actually shut the device down.
      
      To work around this, we've historically had a local_timer_stop()
      callback out of the hotplug code.  However, this adds needless
      complexity when we have the clock event device itself available.
      
      Explicitly call the clock event device's set_mode function with
      CLOCK_EVT_MODE_UNUSED, so that the hardware can be cleanly shutdown
      without any special external callbacks.  When/if the generic code
      is fixed, percpu_timer_stop() can be killed off.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      10034aab
    • R
      ARM: smp: improve CPU bringup failure diagnostics · 58613cd1
      Russell King 提交于
      We used to print a bland error message which gave no clue as to the
      failure when we failed to bring up a secondary CPU.  Resolve this by
      separating the two failure cases.
      
      If boot_secondary() fails, we print a message indicating the returned
      error code from boot_secondary():
      	"CPU%u: failed to boot: %d\n", cpu, ret.
      
      However, if boot_secondary() succeeded, but the CPU did not appear to
      mark itself online within the timeout, indicate that it failed to come
      online:
      	"CPU%u: failed to come online\n", cpu
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      58613cd1
    • D
      ARM: 6516/1: Allow SMP_ON_UP to work with Thumb-2 kernels. · ed3768a8
      Dave Martin 提交于
        * __fixup_smp_on_up has been modified with support for the
          THUMB2_KERNEL case.  For THUMB2_KERNEL only, fixups are split
          into halfwords in case of misalignment, since we can't rely on
          unaligned accesses working before turning the MMU on.
      
          No attempt is made to optimise the aligned case, since the
          number of fixups is typically small, and it seems best to keep
          the code as simple as possible.
      
        * Add a rotate in the fixup_smp code in order to support
          CPU_BIG_ENDIAN, as suggested by Nicolas Pitre.
      
        * Add an assembly-time sanity-check to ALT_UP() to ensure that
          the content really is the right size (4 bytes).
      
          (No check is done for ALT_SMP().  Possibly, this could be fixed
          by splitting the two uses ot ALT_SMP() (ALT_SMP...SMP_UP versus
          ALT_SMP...SMP_UP_B) into two macros.  In the first case,
          ALT_SMP needs to expand to >= 4 bytes, not == 4.)
      
        * smp_mpidr.h (which implements ALT_SMP()/ALT_UP() manually due
          to macro limitations) has not been modified: the affected
          instruction (mov) has no 16-bit encoding, so the correct
          instruction size is satisfied in this case.
      
        * A "mode" parameter has been added to smp_dmb:
      
          smp_dmb arm @ assumes 4-byte instructions (for ARM code, e.g. kuser)
          smp_dmb     @ uses W() to ensure 4-byte instructions for ALT_SMP()
      
          This avoids assembly failures due to use of W() inside smp_dmb,
          when assembling pure-ARM code in the vectors page.
      
          There might be a better way to achieve this.
      
        * Kconfig: make SMP_ON_UP depend on
          (!THUMB2_KERNEL || !BIG_ENDIAN) i.e., THUMB2_KERNEL is now
          supported, but only if !BIG_ENDIAN (The fixup code for Thumb-2
          currently assumes little-endian order.)
      
      Tested using a single generic realview kernel on:
      	ARM RealView PB-A8 (CONFIG_THUMB2_KERNEL={n,y})
      	ARM RealView PBX-A9 (SMP)
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Acked-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ed3768a8
    • R
      ARM: CPU hotplug: ensure correct ordering of unplug · f36d3401
      Russell King 提交于
      Don't call idle_task_exit() with interrupts disabled, and ensure
      that we have a memory barrier after interrupts are disabled but
      before signalling that this CPU has shut down.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      f36d3401
    • R
      ARM: CPU hotplug: move cpu_killed completion to core code · 3c030bea
      Russell King 提交于
      We always need to wait for the dying CPU to reach a safe state before
      taking it down, irrespective of the requirements of the platform.
      Move the completion code into the ARM SMP hotplug code rather than
      having each platform re-implement this.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3c030bea