1. 20 12月, 2012 2 次提交
  2. 13 10月, 2012 1 次提交
  3. 01 10月, 2012 1 次提交
  4. 28 9月, 2012 1 次提交
    • D
      Make most arch asm/module.h files use asm-generic/module.h · 786d35d4
      David Howells 提交于
      Use the mapping of Elf_[SPE]hdr, Elf_Addr, Elf_Sym, Elf_Dyn, Elf_Rel/Rela,
      ELF_R_TYPE() and ELF_R_SYM() to either the 32-bit version or the 64-bit version
      into asm-generic/module.h for all arches bar MIPS.
      
      Also, use the generic definition mod_arch_specific where possible.
      
      To this end, I've defined three new config bools:
      
       (*) HAVE_MOD_ARCH_SPECIFIC
      
           Arches define this if they don't want to use the empty generic
           mod_arch_specific struct.
      
       (*) MODULES_USE_ELF_RELA
      
           Arches define this if their modules can contain RELA records.  This causes
           the Elf_Rela mapping to be emitted and allows apply_relocate_add() to be
           defined by the arch rather than have the core emit an error message.
      
       (*) MODULES_USE_ELF_REL
      
           Arches define this if their modules can contain REL records.  This causes
           the Elf_Rel mapping to be emitted and allows apply_relocate() to be
           defined by the arch rather than have the core emit an error message.
      
      Note that it is possible to allow both REL and RELA records: m68k and mips are
      two arches that do this.
      
      With this, some arch asm/module.h files can be deleted entirely and replaced
      with a generic-y marker in the arch Kbuild file.
      
      Additionally, I have removed the bits from m32r and score that handle the
      unsupported type of relocation record as that's now handled centrally.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      786d35d4
  5. 19 8月, 2012 1 次提交
    • M
      alpha: Use new generic strncpy_from_user() and strnlen_user() · f2db633d
      Michael Cree 提交于
      Similar to x86/sparc/powerpc implementations except:
      1) we implement an extremely efficient has_zero()/find_zero()
         sequence with both prep_zero_mask() and create_zero_mask()
         no-operations.
      2) Our output from prep_zero_mask() differs in that only the
         lowest eight bits are used to represent the zero bytes
         nevertheless it can be safely ORed with other similar masks
         from prep_zero_mask() and forms input to create_zero_mask(),
         the two fundamental properties prep_zero_mask() must satisfy.
      
      Tests on EV67 and EV68 CPUs revealed that the generic code is
      essentially as fast (to within 0.5% of CPU cycles) of the old
      Alpha specific code for large quadword-aligned strings, despite
      the 30% extra CPU instructions executed.  In contrast, the
      generic code for unaligned strings is substantially slower (by
      more than a factor of 3) than the old Alpha specific code.
      Signed-off-by: NMichael Cree <mcree@orcon.net.nz>
      Acked-by: NMatt Turner <mattst88@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f2db633d
  6. 31 7月, 2012 1 次提交
  7. 21 5月, 2012 1 次提交
  8. 05 5月, 2012 2 次提交
  9. 03 5月, 2012 1 次提交
  10. 26 4月, 2012 1 次提交
  11. 29 11月, 2011 1 次提交
    • M
      alpha: switch to GENERIC_PCI_IOMAP · f2971c4c
      Michael S. Tsirkin 提交于
      alpha copied pci_iomap from generic code to avoid
      pulling the rest of iomap.c in.  Since that's in
      a separate file now, we can reuse the common implementation.
      
      The only difference is handling of nocache flag,
      that turns out to be done correctly by the
      generic code since arch/alpha/include/asm/io.h
      defines ioremap_nocache same as ioremap.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      f2971c4c
  12. 25 11月, 2011 1 次提交
  13. 01 11月, 2011 1 次提交
  14. 15 9月, 2011 1 次提交
  15. 03 8月, 2011 1 次提交
  16. 09 6月, 2011 1 次提交
  17. 27 5月, 2011 1 次提交
  18. 25 5月, 2011 1 次提交
  19. 30 3月, 2011 1 次提交
  20. 29 3月, 2011 1 次提交
  21. 03 3月, 2011 1 次提交
  22. 21 1月, 2011 2 次提交
  23. 17 1月, 2011 1 次提交
  24. 27 10月, 2010 1 次提交
  25. 19 10月, 2010 1 次提交
    • P
      irq_work: Add generic hardirq context callbacks · e360adbe
      Peter Zijlstra 提交于
      Provide a mechanism that allows running code in IRQ context. It is
      most useful for NMI code that needs to interact with the rest of the
      system -- like wakeup a task to drain buffers.
      
      Perf currently has such a mechanism, so extract that and provide it as
      a generic feature, independent of perf so that others may also
      benefit.
      
      The IRQ context callback is generated through self-IPIs where
      possible, or on architectures like powerpc the decrementer (the
      built-in timer facility) is set to generate an interrupt immediately.
      
      Architectures that don't have anything like this get to do with a
      callback from the timer tick. These architectures can call
      irq_work_run() at the tail of any IRQ handlers that might enqueue such
      work (like the perf IRQ handler) to avoid undue latencies in
      processing the work.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NKyle McMartin <kyle@mcmartin.ca>
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      [ various fixes ]
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      LKML-Reference: <1287036094.7768.291.camel@yhuang-dev>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e360adbe
  26. 20 9月, 2010 1 次提交
  27. 27 7月, 2010 1 次提交
  28. 28 5月, 2010 1 次提交
  29. 26 5月, 2010 1 次提交
  30. 13 3月, 2010 3 次提交
  31. 18 12月, 2009 1 次提交
  32. 22 9月, 2009 1 次提交
  33. 24 6月, 2009 2 次提交
    • T
      alpha: switch to dynamic percpu allocator · 9b7dbc7d
      Tejun Heo 提交于
      Alpha implements custom SHIFT_PERCPU_PTR for modules because percpu
      area can be located far away from the 4G area where the module text is
      located.  The custom SHIFT_PERCPU_PTR forces GOT usage using ldq
      instruction with literal relocation; however, the relocation can't be
      used with dynamically allocated percpu variables.  Fortunately,
      similar result can be achieved by using weak percpu variable
      definitions.
      
      This patch makes alpha use weak definitions and switch to dynamic
      percpu allocator.
      
      asm/tlbflush.h was getting linux/sched.h via asm/percpu.h which no
      longer needs it.  Include linux/sched.h directly in asm/tlbflush.h.
      
      Compile tested.  Generation of litereal relocation verified.
      
      This patch is based on Ivan Kokshaysky's alpha percpu patch.
      
      [ Impact: use dynamic percpu allocator ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Richard Henderson <rth@twiddle.net>
      9b7dbc7d
    • T
      percpu: use dynamic percpu allocator as the default percpu allocator · e74e3962
      Tejun Heo 提交于
      This patch makes most !CONFIG_HAVE_SETUP_PER_CPU_AREA archs use
      dynamic percpu allocator.  The first chunk is allocated using
      embedding helper and 8k is reserved for modules.  This ensures that
      the new allocator behaves almost identically to the original allocator
      as long as static percpu variables are concerned, so it shouldn't
      introduce much breakage.
      
      s390 and alpha use custom SHIFT_PERCPU_PTR() to work around addressing
      range limit the addressing model imposes.  Unfortunately, this breaks
      if the address is specified using a variable, so for now, the two
      archs aren't converted.
      
      The following architectures are affected by this change.
      
      * sh
      * arm
      * cris
      * mips
      * sparc(32)
      * blackfin
      * avr32
      * parisc (broken, under investigation)
      * m32r
      * powerpc(32)
      
      As this change makes the dynamic allocator the default one,
      CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is replaced with its invert -
      CONFIG_HAVE_LEGACY_PER_CPU_AREA, which is added to yet-to-be converted
      archs.  These archs implement their own setup_per_cpu_areas() and the
      conversion is not trivial.
      
      * powerpc(64)
      * sparc(64)
      * ia64
      * alpha
      * s390
      
      Boot and batch alloc/free tests on x86_32 with debug code (x86_32
      doesn't use default first chunk initialization).  Compile tested on
      sparc(32), powerpc(32), arm and alpha.
      
      Kyle McMartin reported that this change breaks parisc.  The problem is
      still under investigation and he is okay with pushing this patch
      forward and fixing parisc later.
      
      [ Impact: use dynamic allocator for most archs w/o custom percpu setup ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NRusty Russell <rusty@rustcorp.com.au>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Reviewed-by: NChristoph Lameter <cl@linux.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Bryan Wu <cooloney@kernel.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      e74e3962
  34. 30 1月, 2009 1 次提交