1. 29 3月, 2012 1 次提交
  2. 30 10月, 2010 1 次提交
    • R
      MIPS: Get rid of branches to .subsections. · 7837314d
      Ralf Baechle 提交于
      It was a nice optimization - on paper at least.  In practice it results in
      branches that may exceed the maximum legal range for a branch.  We can
      fight that problem with -ffunction-sections but -ffunction-sections again
      is incompatible with -pg used by the function tracer.
      
      By rewriting the loop around all simple LL/SC blocks to C we reduce the
      amount of inline assembler and at the same time allow GCC to often fill
      the branch delay slots with something sensible or whatever else clever
      optimization it may have up in its sleeve.
      
      With this optimization gone we also no longer need -ffunction-sections,
      so drop it.
      
      This optimization was originally introduced in 2.6.21, commit
      5999eca25c1fd4b9b9aca7833b04d10fe4bc877d (linux-mips.org) rsp.
      f65e4fa8 (kernel.org).
      
      Original fix for the issues which caused me to pull this optimization by
      Paul Gortmaker <paul.gortmaker@windriver.com>.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      7837314d
  3. 27 2月, 2010 1 次提交
  4. 02 12月, 2009 1 次提交
  5. 18 9月, 2009 4 次提交
  6. 11 10月, 2008 2 次提交
  7. 30 11月, 2007 1 次提交
  8. 27 11月, 2007 1 次提交
    • R
      [MIPS] Fix context DSP context / TLS pointer switching bug for new threads. · 07500b0d
      Ralf Baechle 提交于
      A new born thread starts execution not in schedule but rather in
      ret_from_fork which results in it bypassing the part of the code to
      load a new context written in C which are the DSP context and the
      userlocal register which Linux uses for the TLS pointer.  Frequently
      we were just getting away with this bug for a number of reasons:
      
       o Real world application scenarios are very unlikely to use clone or fork
         in blocks of DSP code.
       o Linux by default runs the child process right after the fork, so the
         child by luck will find all the right context in the DSP and userlocal
         registers.
       o So far the rdhwr instruction was emulated on all hardware so userlocal
         wasn't getting referenced at all and the emulation wasn't suffering
         from the issue since it gets it's value straight from the thread's
         thread_info.
      
      Fixed by moving the code to load the context from switch_to() to
      finish_arch_switch which will be called by newborn and old threads.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      07500b0d
  9. 12 10月, 2007 2 次提交
  10. 03 10月, 2007 1 次提交
  11. 01 8月, 2007 1 次提交
  12. 21 7月, 2007 2 次提交
  13. 20 7月, 2007 1 次提交
  14. 11 7月, 2007 3 次提交
  15. 11 5月, 2007 1 次提交
  16. 10 5月, 2007 1 次提交
  17. 09 5月, 2007 2 次提交
  18. 17 3月, 2007 1 次提交
  19. 14 2月, 2007 1 次提交
    • R
      [MIPS] Improve branch prediction in ll/sc atomic operations. · f65e4fa8
      Ralf Baechle 提交于
      Now that finally all supported versions of binutils have functioning
      support for .subsection use .subsection to tweak the branch prediction
      
      I did not modify the R10000 errata variants because it seems unclear if
      this will invalidate the workaround which actually relies on the cheesy
      prediction of branch likely to cause a misspredict if the sc was
      successful.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      f65e4fa8
  20. 11 12月, 2006 1 次提交
  21. 05 12月, 2006 1 次提交
  22. 03 11月, 2006 1 次提交
  23. 15 7月, 2006 1 次提交
    • S
      [PATCH] remove set_wmb - arch removal · 52393ccc
      Steven Rostedt 提交于
      set_wmb should not be used in the kernel because it just confuses the
      code more and has no benefit.  Since it is not currently used in the
      kernel this patch removes it so that new code does not include it.
      
      All archs define set_wmb(var, value) to do { var = value; wmb(); }
      while(0) except ia64 and sparc which use a mb() instead.  But this is
      still moot since it is not used anyway.
      
      Hasn't been tested on any archs but x86 and x86_64 (and only compiled
      tested)
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      52393ccc
  24. 14 7月, 2006 1 次提交
  25. 26 4月, 2006 1 次提交
  26. 19 4月, 2006 3 次提交
  27. 21 3月, 2006 1 次提交
  28. 28 2月, 2006 1 次提交
  29. 13 1月, 2006 1 次提交