1. 05 8月, 2016 1 次提交
  2. 16 6月, 2016 2 次提交
    • P
      locking/atomic: Remove linux/atomic.h:atomic_fetch_or() · b53d6bed
      Peter Zijlstra 提交于
      Since all architectures have this implemented now natively, remove this
      dead code.
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      b53d6bed
    • P
      locking/atomic, arch/sh: Implement atomic_fetch_{add,sub,and,or,xor}() · 7d9794e7
      Peter Zijlstra 提交于
      Implement FETCH-OP atomic primitives, these are very similar to the
      existing OP-RETURN primitives we already have, except they return the
      value of the atomic variable _before_ modification.
      
      This is especially useful for irreversible operations -- such as
      bitops (because it becomes impossible to reconstruct the state prior
      to modification).
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-sh@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      7d9794e7
  3. 23 9月, 2015 1 次提交
    • P
      atomic, arch: Audit atomic_{read,set}() · 62e8a325
      Peter Zijlstra 提交于
      This patch makes sure that atomic_{read,set}() are at least
      {READ,WRITE}_ONCE().
      
      We already had the 'requirement' that atomic_read() should use
      ACCESS_ONCE(), and most archs had this, but a few were lacking.
      All are now converted to use READ_ONCE().
      
      And, by a symmetry and general paranoia argument, upgrade atomic_set()
      to use WRITE_ONCE().
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: james.hogan@imgtec.com
      Cc: linux-kernel@vger.kernel.org
      Cc: oleg@redhat.com
      Cc: will.deacon@arm.com
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      62e8a325
  4. 27 7月, 2015 2 次提交
  5. 03 10月, 2014 1 次提交
  6. 18 4月, 2014 1 次提交
  7. 27 4月, 2012 1 次提交
    • N
      sh: Fix up tracepoint build fallout from static key introduction. · ec2ccd88
      Nobuhiro Iwamatsu 提交于
      With the introduction of static keys, anything using tracepoints blows up
      in the following manner:
      
      include/trace/events/oom.h:8:13: error: initializer element is not constant
      include/trace/events/oom.h:8:13: error: (near initialization for '__tracepoint_oom_score_adj_update')
      include/trace/events/oom.h:8:13: error: initializer element is not constant
      include/trace/events/oom.h:8:13: error: (near initialization for '__tracepoint_oom_score_adj_update.key')
      
      This is a result of the STATIC_KEY_INIT_xxx defs wrapping ATOMIC_INIT()
      which on sh includes an atomic_t typecast. Given that we don't really
      need the typecast for anything anymore, the simplest solution is simply
      to kill off the cast.
      Signed-off-by: NNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ec2ccd88
  8. 29 3月, 2012 1 次提交
  9. 27 7月, 2011 3 次提交
  10. 17 5月, 2010 1 次提交
  11. 08 1月, 2010 1 次提交
    • P
      sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. · 8c0b8139
      Paul Mundt 提交于
      The LL/SC and IRQ versions were using generic stubs while the GRB version
      was just reimplementing what it already had for the standard cmpxchg()
      code. As we have optimized cmpxchg() implementations that are decoupled
      from the atomic code, simply falling back on the generic wrapper does the
      right thing. With this in place the GRB case is unaffected while the
      LL/SC case gets to use its optimized cmpxchg().
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      8c0b8139
  12. 18 10月, 2009 1 次提交
    • P
      sh: Fix up smp_mb__xxx() memory barriers for SH-4A SMP. · 1c8db713
      Paul Mundt 提交于
      In the past these were simply wrapping to barrier() which was sufficient
      on SH SMP platforms predating SH-4A. Unfortunately due to ll/sc semantics
      an explicit synco is needed in these cases, which is sorted for us by
      just switching these over to smp_mb(). smp_mb() also has the benefit of
      being wrapped to barrier() in the UP and non-SH4A cases, so old behaviour
      is maintained for those parts.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      1c8db713
  13. 17 6月, 2009 1 次提交
  14. 12 6月, 2009 1 次提交
  15. 11 6月, 2009 1 次提交
  16. 07 1月, 2009 1 次提交
  17. 29 7月, 2008 1 次提交
  18. 28 1月, 2008 1 次提交
  19. 12 12月, 2006 1 次提交
  20. 06 12月, 2006 1 次提交
    • P
      sh: Fixup movli.l/movco.l atomic ops for gcc4. · c03c6961
      Paul Mundt 提交于
      gcc4 gets a bit pissy about the outputs:
      
      include/asm/atomic.h: In function 'atomic_add':
      include/asm/atomic.h:37: error: invalid lvalue in asm statement
      include/asm/atomic.h:30: error: invalid lvalue in asm output 1
      ...
      
      this ended up being a thinko anyways, so just fix it up.
      
      Verified for proper behaviour with the older toolchains, too.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c03c6961
  21. 27 9月, 2006 2 次提交
  22. 10 1月, 2006 1 次提交
  23. 07 1月, 2006 1 次提交
  24. 14 11月, 2005 2 次提交
  25. 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