An error occurred fetching the project authors.
  1. 29 Jul, 2020 1 commit
    • Ahmed S. Darwish's avatar
      dma-buf: Use sequence counter with associated wound/wait mutex · cd29f220
      Ahmed S. Darwish authored
      A sequence counter write side critical section must be protected by some
      form of locking to serialize writers. If the serialization primitive is
      not disabling preemption implicitly, preemption has to be explicitly
      disabled before entering the sequence counter write side critical
      section.
      
      The dma-buf reservation subsystem uses plain sequence counters to manage
      updates to reservations. Writer serialization is accomplished through a
      wound/wait mutex.
      
      Acquiring a wound/wait mutex does not disable preemption, so this needs
      to be done manually before and after the write side critical section.
      
      Use the newly-added seqcount_ww_mutex_t instead:
      
        - It associates the ww_mutex with the sequence count, which enables
          lockdep to validate that the write side critical section is properly
          serialized.
      
        - It removes the need to explicitly add preempt_disable/enable()
          around the write side critical section because the write_begin/end()
          functions for this new data type automatically do this.
      
      If lockdep is disabled this ww_mutex lock association is compiled out
      and has neither storage size nor runtime overhead.
      Signed-off-by: default avatarAhmed S. Darwish <a.darwish@linutronix.de>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://lkml.kernel.org/r/20200720155530.1173732-13-a.darwish@linutronix.de
      cd29f220
  2. 09 Jun, 2020 1 commit
  3. 21 May, 2020 1 commit
  4. 08 May, 2020 1 commit
  5. 06 May, 2020 1 commit
  6. 30 Apr, 2020 1 commit
  7. 23 Apr, 2020 1 commit
  8. 22 Apr, 2020 1 commit
  9. 13 Apr, 2020 1 commit
  10. 10 Mar, 2020 1 commit
  11. 28 Feb, 2020 1 commit
  12. 26 Feb, 2020 1 commit
  13. 05 Feb, 2020 1 commit
  14. 27 Jan, 2020 1 commit
  15. 09 Dec, 2019 1 commit
  16. 26 Nov, 2019 3 commits
  17. 23 Nov, 2019 2 commits
  18. 13 Nov, 2019 1 commit
  19. 30 Oct, 2019 1 commit
  20. 25 Oct, 2019 1 commit
  21. 26 Sep, 2019 1 commit
  22. 16 Sep, 2019 2 commits
  23. 13 Sep, 2019 3 commits
  24. 16 Aug, 2019 1 commit
  25. 13 Aug, 2019 1 commit
  26. 10 Aug, 2019 1 commit
  27. 06 Aug, 2019 1 commit
  28. 02 Aug, 2019 1 commit
  29. 31 Jul, 2019 2 commits
  30. 08 Jul, 2019 1 commit
  31. 03 Jul, 2019 2 commits
  32. 20 Jun, 2019 1 commit