]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'lockref' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 Sep 2013 19:36:19 +0000 (12:36 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 Sep 2013 19:36:19 +0000 (12:36 -0700)
commit2a2a5ce983720a0c09bdfab0d9e0dabc61b377b3
tree154f4764d9fab0abff99bfc87271c67086f609c3
parent59fa83ec2c8c173ab988ca6e94d7f6e01152432e
parentce6f71fe11975cec9ec5b57324b464f5faedc3ad
Merge branch 'lockref' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 lockref enablement from Heiko Carstens:
 "Enabling the new lockless lockref variant on s390 would have been
  trivial until Tony Luck added a cpu_relax() call into the
  CMPXCHG_LOOP(), with commit ea39c50d3849 ("lockref: Relax in cmpxchg
  loop")

  As already mentioned cpu_relax() is very expensive on s390 since it
  yields() the current virtual cpu.  So we are talking of several
  thousand cycles.  Considering this enabling the lockless lockref
  variant would contradict the intention of the new semantics.  And also
  some quick measurements show performance regressions of 50% and more.

  Simply removing the cpu_relax() call again seems also not very
  desireable since Waiman Long reported that for some workloads the call
  improved performance by 5%."

* 'lockref' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390: enable ARCH_USE_CMPXCHG_LOCKREF
  lockref: use arch_mutex_cpu_relax() in CMPXCHG_LOOP()
  mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdef