1. 02 Oct, 2018 1 commit
  2. 09 Sep, 2018 1 commit
    • Henrik Austad's avatar
      Drop all 00-INDEX files from Documentation/ · a7ddcea5
      Henrik Austad authored
      This is a respin with a wider audience (all that get_maintainer returned)
      and I know this spams a *lot* of people. Not sure what would be the correct
      way, so my apologies for ruining your inbox.
      
      The 00-INDEX files are supposed to give a summary of all files present
      in a directory, but these files are horribly out of date and their
      usefulness is brought into question. Often a simple "ls" would reveal
      the same information as the filenames are generally quite descriptive as
      a short introduction to what the file covers (it should not surprise
      anyone what Documentation/sched/sched-design-CFS.txt covers)
      
      A few years back it was mentioned that these files were no longer really
      needed, and they have since then grown further out of date, so perhaps
      it is time to just throw them out.
      
      A short status yields the following _outdated_ 00-INDEX files, first
      counter is files listed in 00-INDEX but missing in the directory, last
      is files present but not listed in 00-INDEX.
      
      List of outdated 00-INDEX:
      Documentation: (4/10)
      Documentation/sysctl: (0/1)
      Documentation/timers: (1/0)
      Documentation/blockdev: (3/1)
      Documentation/w1/slaves: (0/1)
      Documentation/locking: (0/1)
      Documentation/devicetree: (0/5)
      Documentation/power: (1/1)
      Documentation/powerpc: (0/5)
      Documentation/arm: (1/0)
      Documentation/x86: (0/9)
      Documentation/x86/x86_64: (1/1)
      Documentation/scsi: (4/4)
      Documentation/filesystems: (2/9)
      Documentation/filesystems/nfs: (0/2)
      Documentation/cgroup-v1: (0/2)
      Documentation/kbuild: (0/4)
      Documentation/spi: (1/0)
      Documentation/virtual/kvm: (1/0)
      Documentation/scheduler: (0/2)
      Documentation/fb: (0/1)
      Documentation/block: (0/1)
      Documentation/networking: (6/37)
      Documentation/vm: (1/3)
      
      Then there are 364 subdirectories in Documentation/ with several files that
      are missing 00-INDEX alltogether (and another 120 with a single file and no
      00-INDEX).
      
      I don't really have an opinion to whether or not we /should/ have 00-INDEX,
      but the above 00-INDEX should either be removed or be kept up to date. If
      we should keep the files, I can try to keep them updated, but I rather not
      if we just want to delete them anyway.
      
      As a starting point, remove all index-files and references to 00-INDEX and
      see where the discussion is going.
      Signed-off-by: default avatarHenrik Austad <henrik@austad.us>
      Acked-by: default avatar"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Just-do-it-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
      Acked-by: default avatarPaul Moore <paul@paul-moore.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Acked-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: [Almost everybody else]
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      a7ddcea5
  3. 03 Jul, 2018 2 commits
    • Thomas Hellstrom's avatar
      locking: Implement an algorithm choice for Wound-Wait mutexes · 08295b3b
      Thomas Hellstrom authored
      The current Wound-Wait mutex algorithm is actually not Wound-Wait but
      Wait-Die. Implement also Wound-Wait as a per-ww-class choice. Wound-Wait
      is, contrary to Wait-Die a preemptive algorithm and is known to generate
      fewer backoffs. Testing reveals that this is true if the
      number of simultaneous contending transactions is small.
      As the number of simultaneous contending threads increases, Wait-Wound
      becomes inferior to Wait-Die in terms of elapsed time.
      Possibly due to the larger number of held locks of sleeping transactions.
      
      Update documentation and callers.
      
      Timings using git://people.freedesktop.org/~thomash/ww_mutex_test
      tag patch-18-06-15
      
      Each thread runs 100000 batches of lock / unlock 800 ww mutexes randomly
      chosen out of 100000. Four core Intel x86_64:
      
      Algorithm    #threads       Rollbacks  time
      Wound-Wait   4              ~100       ~17s.
      Wait-Die     4              ~150000    ~19s.
      Wound-Wait   16             ~360000    ~109s.
      Wait-Die     16             ~450000    ~82s.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Kate Stewart <kstewart@linuxfoundation.org>
      Cc: Philippe Ombredanne <pombredanne@nexb.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-doc@vger.kernel.org
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Co-authored-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      08295b3b
    • Peter Ziljstra's avatar
      locking: WW mutex cleanup · 55f036ca
      Peter Ziljstra authored
      Make the WW mutex code more readable by adding comments, splitting up
      functions and pointing out that we're actually using the Wait-Die
      algorithm.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Kate Stewart <kstewart@linuxfoundation.org>
      Cc: Philippe Ombredanne <pombredanne@nexb.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-doc@vger.kernel.org
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Co-authored-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      55f036ca
  4. 14 Feb, 2018 2 commits
  5. 11 Feb, 2018 1 commit
  6. 12 Dec, 2017 1 commit
    • Ingo Molnar's avatar
      locking/lockdep: Remove the cross-release locking checks · e966eaee
      Ingo Molnar authored
      This code (CONFIG_LOCKDEP_CROSSRELEASE=y and CONFIG_LOCKDEP_COMPLETIONS=y),
      while it found a number of old bugs initially, was also causing too many
      false positives that caused people to disable lockdep - which is arguably
      a worse overall outcome.
      
      If we disable cross-release by default but keep the code upstream then
      in practice the most likely outcome is that we'll allow the situation
      to degrade gradually, by allowing entropy to introduce more and more
      false positives, until it overwhelms maintenance capacity.
      
      Another bad side effect was that people were trying to work around
      the false positives by uglifying/complicating unrelated code. There's
      a marked difference between annotating locking operations and
      uglifying good code just due to bad lock debugging code ...
      
      This gradual decrease in quality happened to a number of debugging
      facilities in the kernel, and lockdep is pretty complex already,
      so we cannot risk this outcome.
      
      Either cross-release checking can be done right with no false positives,
      or it should not be included in the upstream kernel.
      
      ( Note that it might make sense to maintain it out of tree and go through
        the false positives every now and then and see whether new bugs were
        introduced. )
      
      Cc: Byungchul Park <byungchul.park@lge.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      e966eaee
  7. 11 Dec, 2017 1 commit
    • Paul E. McKenney's avatar
      torture: Eliminate torture_runnable and perf_runnable · a2f2577d
      Paul E. McKenney authored
      The purpose of torture_runnable is to allow rcutorture and locktorture
      to be started and stopped via sysfs when they are built into the kernel
      (as in not compiled as loadable modules).  However, the 0444 permissions
      for both instances of torture_runnable prevent this use case from ever
      being put into practice.  Given that there have been no complaints
      about this deficiency, it is reasonable to conclude that no one actually
      makes use of this sysfs capability.  The perf_runnable module parameter
      for rcuperf is in the same situation.
      
      This commit therefore removes both torture_runnable instances as well
      as perf_runnable.
      Reported-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      a2f2577d
  8. 19 Oct, 2017 1 commit
  9. 24 Aug, 2017 2 commits
    • Alex Shi's avatar
      rtmutex: update rt-mutex · 68a1e349
      Alex Shi authored
      The rtmutex remove a pending owner bit in in rt_mutex::owner, in
      commit 8161239a ("rtmutex: Simplify PI algorithm and make highest prio task get lock")
      But the document was changed accordingly. Updating it to a meaningful
      state.
      
      BTW, as 'Steven Rostedt' mentioned:
      There is still technically a "Pending Owner", it's just not called
      that anymore. The pending owner happens to be the top_waiter of a lock
      that has no owner and has been woken up to grab the lock.
      Signed-off-by: default avatarAlex Shi <alex.shi@linaro.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Sebastian Siewior <bigeasy@linutronix.de>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Juri Lelli <juri.lelli@arm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      To: linux-doc@vger.kernel.org
      To: linux-kernel@vger.kernel.org
      To: Jonathan Corbet <corbet@lwn.net>
      To: Ingo Molnar <mingo@redhat.com>
      To: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      68a1e349
    • Alex Shi's avatar
      rtmutex: update rt-mutex-design · f1824df1
      Alex Shi authored
      The rt-mutex-design documents didn't gotten meaningful update from its
      first version. Even after owner's pending bit was removed in commit 8161239a
      ("rtmutex: Simplify PI algorithm and make highest prio task get lock")
      and priority list 'plist' changed to rbtree. And Peter Zijlstra did some
      clean up and fix for deadline task changes on tip tree.
      
      So update it to latest code and make it meaningful.
      Steven Rostedt and Sebastian Siewior gave much of comments and input
      in this doc. Thanks!
      Signed-off-by: default avatarAlex Shi <alex.shi@linaro.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Sebastian Siewior <bigeasy@linutronix.de>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Juri Lelli <juri.lelli@arm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      To: linux-doc@vger.kernel.org
      To: linux-kernel@vger.kernel.org
      To: Jonathan Corbet <corbet@lwn.net>
      To: Ingo Molnar <mingo@redhat.com>
      To: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      f1824df1
  10. 10 Aug, 2017 1 commit
  11. 14 Jan, 2017 1 commit
  12. 22 Sep, 2016 1 commit
  13. 28 Apr, 2016 1 commit
  14. 06 Oct, 2015 1 commit
    • Davidlohr Bueso's avatar
      locktorture: Support rtmutex torturing · 095777c4
      Davidlohr Bueso authored
      Real time mutexes is one of the few general primitives
      that we do not have in locktorture. Address this -- a few
      considerations:
      
      o To spice things up, enable competing thread(s) to become
      rt, such that we can stress different prio boosting paths
      in the rtmutex code. Introduce a ->task_boost callback,
      only used by rtmutex-torturer. Tasks will boost/deboost
      around every 50k (arbitrarily) lock/unlock operations.
      
      o Hold times are similar to what we have for other locks:
      only occasionally having longer hold times (per ~200k ops).
      So we roughly do two full rt boost+deboosting ops with
      short hold times.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
      095777c4
  15. 18 Sep, 2015 1 commit
  16. 13 Sep, 2015 1 commit
  17. 28 Jan, 2015 1 commit
  18. 16 Jan, 2015 1 commit
  19. 29 Dec, 2014 1 commit
    • Henrik Austad's avatar
      Update of Documentation/00-INDEX · 8ea8f3eb
      Henrik Austad authored
      Added files
      - hsi.txt was added by 3a8ab8af (HSI: Add some general description for
        the HSI subsystem)
      - lzo.txt was added by d98a0526 (lzo: document part of the encoding)
      - xillybus.txt was added by 7051924f (xillybus: Move out of staging)
      - mailbox.txt was added by 15320fbc (add documentation for mailbox
        framework)
      
      Moved files
      - xommit 214e0aed (Move locking related docs into Documentation/locking/):
        * lockdep-design.txt
        * lockstat.txt
        * mutex-design.txt
        * rt-mutex-design.txt
        * rt-mutex.txt
        * spinlocks.txt
        * ww-mutex-design.txt
      - kselftest.txt was moved by 3c415707 (kselftest: Move the docs to the
        Documentation dir)
      
      CC: Davidlohr Bueso <davidlohr@hp.com>
      CC: Willy Tarreau <w@1wt.eu>
      CC: Randy Dunlap <rdunlap@infradead.org>
      CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      CC: Sebastian Reichel <sre@kernel.org>
      CC: Eli Billauer <eli.billauer@gmail.com>
      CC: Jonathan Corbet <corbet@lwn.net>
      CC: Jiri Kosina <trivial@kernel.org>
      CC: linux-doc@vger.kernel.org
      CC: linux-kernel@vger.kernel.org
      Cc: Tim Bird <tim.bird@sonymobile.com>
      Cc: Shuah Khan <shuahkh@osg.samsung.com>
      Signed-off-by: default avatarHenrik Austad <henrik@austad.us>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      8ea8f3eb
  20. 08 Dec, 2014 1 commit
  21. 30 Sep, 2014 1 commit
  22. 16 Sep, 2014 4 commits
    • Davidlohr Bueso's avatar
      locktorture: Support rwsems · 4a3b427f
      Davidlohr Bueso authored
      We can easily do so with our new reader lock support. Just an arbitrary
      design default: readers have higher (5x) critical region latencies than
      writers: 50 ms and 10 ms, respectively.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      4a3b427f
    • Davidlohr Bueso's avatar
      locktorture: Add infrastructure for torturing read locks · 4f6332c1
      Davidlohr Bueso authored
      Most of it is based on what we already have for writers. This allows
      readers to be very independent (and thus configurable), enabling
      future module parameters to control things such as rw distribution.
      Furthermore, readers have their own delaying function, allowing us
      to test different rw critical region latencies, and stress locking
      internals. Similarly, statistics, for now will only serve for the
      number of lock acquisitions -- as opposed to writers, readers have
      no failure detection.
      
      In addition, introduce a new nreaders_stress module parameter. The
      default number of readers will be the same number of writers threads.
      Writer threads are interleaved with readers. Documentation is updated,
      respectively.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      4f6332c1
    • Davidlohr Bueso's avatar
      locktorture: Support mutexes · 42ddc75d
      Davidlohr Bueso authored
      Add a "mutex_lock" torture test. The main difference with the already
      existing spinlock tests is that the latency of the critical region
      is much larger. We randomly delay for (arbitrarily) either 500 ms or,
      otherwise, 25 ms. While this can considerably reduce the amount of
      writes compared to non blocking locks, if run long enough it can have
      the same torturous effect. Furthermore it is more representative of
      mutex hold times and can stress better things like thrashing.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      42ddc75d
    • Davidlohr Bueso's avatar
      locktorture: Add documentation · cdf26bb1
      Davidlohr Bueso authored
      Just like Documentation/RCU/torture.txt, begin a document for the
      locktorture module. This module is still pretty green, so I have
      just added some specific sections to the doc (general desc, params,
      usage, etc.). Further development should update the file.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      [ paulmck: Apply Randy Dunlap review comments. ]
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      cdf26bb1
  23. 13 Aug, 2014 2 commits