1. 05 12月, 2010 1 次提交
    • R
      ARM: implement support for read-mostly sections · daf87416
      Russell King 提交于
      As our SMP implementation uses MESI protocols.  Grouping together data
      which is mostly only read together means that we avoid unnecessary
      cache line bouncing when this code shares a cache line with other data.
      
      In other words, cache lines associated with read-mostly data are
      expected to spend most of their time in shared state.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      daf87416
  2. 20 11月, 2010 1 次提交
  3. 28 10月, 2010 1 次提交
  4. 08 10月, 2010 2 次提交
  5. 05 10月, 2010 1 次提交
    • R
      ARM: Allow SMP kernels to boot on UP systems · f00ec48f
      Russell King 提交于
      UP systems do not implement all the instructions that SMP systems have,
      so in order to boot a SMP kernel on a UP system, we need to rewrite
      parts of the kernel.
      
      Do this using an 'alternatives' scheme, where the kernel code and data
      is modified prior to initialization to replace the SMP instructions,
      thereby rendering the problematical code ineffectual.  We use the linker
      to generate a list of 32-bit word locations and their replacement values,
      and run through these replacements when we detect a UP system.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      f00ec48f
  6. 16 2月, 2010 1 次提交
  7. 15 12月, 2009 1 次提交
    • A
      ARM: use unified discard definition in linker script · e3f28c13
      Alan Jenkins 提交于
      Commit 023bf6f1 "linker script: unify usage of discard definition"
      changed the linker scripts for all architectures except for ARM.
      I can find no discussion about this ommision, so here are the changes
      for ARM.
      
      These changes are exactly parallel to the ia64 case.
      
      "ia64 is notable because it first throws away some ia64 specific
       subsections and then include the rest of the sections into the final
       image, so those sections must be discarded before the inclusion."
      
      Not boot-tested.  In build testing, the modified linker script generated
      an identical vmlinux file.
      
      [I would like to be able to rely on this unified discard definition.
       I want to sort the kernel symbol tables to allow faster symbol
       resolution during module loading. The simplest way appears to be
       to generate sorted versions from vmlinux.o, link them in to vmlinux,
       _and discard the original unsorted tables_.
      
       This work is driven by my x86 netbook, but it is implemented at a
       generic level. It is possible it will benefit some ARM systems also.]
      Signed-off-by: NAlan Jenkins <alan-jenkins@tuffmail.co.uk>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by-without-testing: Tejun Heo <tj@kernel.org>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      e3f28c13
  8. 24 11月, 2009 2 次提交
  9. 16 9月, 2009 1 次提交
  10. 25 6月, 2009 1 次提交
  11. 24 6月, 2009 1 次提交
    • T
      linker script: throw away .discard section · 405d967d
      Tejun Heo 提交于
      x86 throws away .discard section but no other archs do.  Also,
      .discard is not thrown away while linking modules.  Make every arch
      and module linking throw it away.  This will be used to define dummy
      variables for percpu declarations and definitions.
      
      This patch is based on Ivan Kokshaysky's alpha percpu patch.
      
      [ Impact: always throw away everything in .discard ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Bryan Wu <cooloney@kernel.org>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Ingo Molnar <mingo@elte.hu>
      405d967d
  12. 19 6月, 2009 1 次提交
  13. 30 5月, 2009 1 次提交
  14. 10 3月, 2009 1 次提交
    • T
      linker script: define __per_cpu_load on all SMP capable archs · 19390c4d
      Tejun Heo 提交于
      Impact: __per_cpu_load available on all SMP capable archs
      
      Percpu now requires three symbols to be defined - __per_cpu_load,
      __per_cpu_start and __per_cpu_end.  There were three archs which
      didn't have it.  Update them as follows.
      
      * powerpc: can use generic PERCPU() macro.  Compile tested for
        powerpc32, compile/boot tested for powerpc64.
      
      * ia64: can use generic PERCPU_VADDR() macro.  __phys_per_cpu_start is
        identical to __per_cpu_load.  Compile tested and symbol table looks
        identical after the change except for the additional __per_cpu_load.
      
      * arm: added explicit __per_cpu_load definition.  Currently uses
        unified .init output section so can't use the generic macro.  Dunno
        whether the unified .init ouput section is required by arch
        peculiarity so I left it alone.  Please break it up and use PERCPU()
        if possible.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Pat Gefre <pfg@sgi.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      19390c4d
  15. 19 2月, 2009 1 次提交
  16. 17 1月, 2009 1 次提交
  17. 01 12月, 2008 1 次提交
  18. 29 1月, 2008 1 次提交
  19. 26 1月, 2008 1 次提交
  20. 20 7月, 2007 1 次提交
    • F
      define new percpu interface for shared data · 5fb7dc37
      Fenghua Yu 提交于
      per cpu data section contains two types of data.  One set which is
      exclusively accessed by the local cpu and the other set which is per cpu,
      but also shared by remote cpus.  In the current kernel, these two sets are
      not clearely separated out.  This can potentially cause the same data
      cacheline shared between the two sets of data, which will result in
      unnecessary bouncing of the cacheline between cpus.
      
      One way to fix the problem is to cacheline align the remotely accessed per
      cpu data, both at the beginning and at the end.  Because of the padding at
      both ends, this will likely cause some memory wastage and also the
      interface to achieve this is not clean.
      
      This patch:
      
      Moves the remotely accessed per cpu data (which is currently marked
      as ____cacheline_aligned_in_smp) into a different section, where all the data
      elements are cacheline aligned. And as such, this differentiates the local
      only data and remotely accessed data cleanly.
      Signed-off-by: NFenghua Yu <fenghua.yu@intel.com>
      Acked-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5fb7dc37
  21. 19 5月, 2007 2 次提交
  22. 08 5月, 2007 2 次提交
  23. 03 5月, 2007 1 次提交
  24. 22 4月, 2007 1 次提交
  25. 26 2月, 2007 1 次提交
    • N
      [ARM] 4224/2: allow XIP kernel to boot again · e98ff7f6
      Nicolas Pitre 提交于
      Since commit 2552fc27 XIP kernels failed
      to boot because (_end - PAGE_OFFSET - 1) is much smaller than the size
      of the kernel text and data in the XIP case, causing the kernel not to
      be entirely mapped.
      
      Even in the non-XIP case, the use of (_end - PAGE_OFFSET - 1) is wrong
      because it produces a too large value if TEXT_OFFSET is larger than 1MB.
      
      Finally the original code was performing one loop too many.
      
      Let's break the loop when the section pointer has passed the last byte
      of the kernel instead.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e98ff7f6
  26. 12 2月, 2007 1 次提交
  27. 28 10月, 2006 1 次提交
  28. 01 7月, 2006 1 次提交
  29. 29 6月, 2006 1 次提交
    • R
      [ARM] nommu: uaccess tweaks · 9641c7cc
      Russell King 提交于
      MMUless systems have only one address space for all threads, so
      both the usual access_ok() checks, and the exception handling do
      not make much sense.
      
      Hence, discard the fixup and exception tables at link time, use
      memcpy/memset for the user copy/clearing functions, and define
      the permission check macros to be constants.
      
      Some of this patch was derived from the equivalent patch by
      Hyok S. Choi.
      Signed-off-by: NHyok S. Choi <hyok.choi@samsung.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9641c7cc
  30. 04 1月, 2006 1 次提交
  31. 18 11月, 2005 1 次提交
  32. 30 10月, 2005 1 次提交
    • N
      [ARM] 3061/1: cleanup the XIP link address mess · 37d07b72
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      Since vmlinux.lds.S is preprocessed, we can use the defines already
      present in asm/memory.h (allowed by patch #3060) for the XIP kernel link
      address instead of relying on a duplicated Makefile hardcoded value, and
      also get rid of its dependency on awk to handle it at the same time.
      
      While at it let's clean XIP stuff even further and make things clearer
      in head.S with a nice code reduction.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      37d07b72
  33. 14 10月, 2005 1 次提交
  34. 20 9月, 2005 3 次提交