1. 21 11月, 2008 1 次提交
    • S
      powerpc/ppc64: ftrace, handle module trampolines for dyn ftrace · f48cb8b4
      Steven Rostedt 提交于
      Impact: Allow 64 bit PowerPC to trace modules with dynamic ftrace
      
      This adds code to handle the PPC64 module trampolines, and allows for
      PPC64 to use dynamic ftrace.
      
      Thanks to Paul Mackerras for these updates:
      
        - fix the mod and rec->arch.mod NULL checks.
        - fix to is_bl_op compare.
      
      Thanks to Milton Miller for:
      
        - finding the nasty race with using two nops, and recommending
          instead that I use a branch 8 forward.
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      f48cb8b4
  2. 18 9月, 2008 1 次提交
  3. 10 9月, 2008 1 次提交
  4. 01 7月, 2008 2 次提交
  5. 21 12月, 2007 1 次提交
    • E
      [POWERPC] Optimize counting distinct entries in the relocation sections · eda09fbd
      Emil Medve 提交于
      When a module has relocation sections with tens of thousands of
      entries, counting the distinct/unique entries only (i.e. no
      duplicates) at load time can take tens of seconds and up to minutes.
      The sore point is the count_relocs() function which is called as part
      of the architecture specific module loading processing path:
      
      	-> load_module()			generic
      	   -> module_frob_arch_sections()	arch specific
      	      -> get_plt_size()		32-bit
      	      -> get_stubs_size()	64-bit
      		 -> count_relocs()
      
      Here count_relocs is being called to find out how many distinct
      targets of R_PPC_REL24 relocations there are, since each distinct
      target needs a PLT entry or a stub created for it.
      
      The previous counting algorithm has O(n^2) complexity.  Basically two
      solutions were proposed on the e-mail list: a hash based approach and
      a sort based approach.
      
      The hash based approach is the fastest (O(n)) but the has it needs
      additional memory and for certain corner cases it could take lots of
      memory due to the degeneration of the hash.  One such proposal was
      submitted here:
      
      http://ozlabs.org/pipermail/linuxppc-dev/2007-June/037641.html
      
      The sort based approach is slower (O(n * log n + n)) but if the
      sorting is done "in place" it doesn't need additional memory.
      This has O(n + n * log n) complexity with no additional memory
      requirements.
      
      This commit implements the in-place sort option.
      Signed-off-by: NEmil Medve <Emilian.Medve@Freescale.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      eda09fbd
  6. 11 12月, 2006 1 次提交
    • J
      [POWERPC] Generic BUG for powerpc · 73c9ceab
      Jeremy Fitzhardinge 提交于
      This makes powerpc use the generic BUG machinery.  The biggest reports the
      function name, since it is redundant with kallsyms, and not needed in general.
      
      There is an overall reduction of code, since module_32/64 duplicated several
      functions.
      
      Unfortunately there's no way to tell gcc that BUG won't return, so the BUG
      macro includes a goto loop.  This will generate a real jmp instruction, which
      is never used.
      
      [akpm@osdl.org: build fix]
      [paulus@samba.org: remove infinite loop in BUG_ON]
      Signed-off-by: NJeremy Fitzhardinge <jeremy@goop.org>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Hugh Dickens <hugh@veritas.com>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      73c9ceab
  7. 25 10月, 2006 1 次提交
  8. 28 4月, 2006 1 次提交
    • A
      [PATCH] powerpc64: Fix loading of modules without a .toc section · f749edae
      Alan Modra 提交于
      Normally, ppc64 module .ko files contain a table-of-contents (.toc)
      section, but if the module doesn't reference any static or external
      data or external procedures, it is possible for gcc/binutils to
      generate a .ko that doesn't have a .toc.  Currently the module
      loader refuses to load such a module, since it needs the address
      of the .toc section to use in relocations.
      
      This patch fixes the problem by using the address of the .stubs
      section instead, which is an acceptable substitute in this situation.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f749edae
  9. 14 11月, 2005 1 次提交
  10. 12 10月, 2005 1 次提交
  11. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4