All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/18] locking/lockdep: Add comments and make some code
@ 2019-03-21  7:57 Yuyang Du
  2019-03-21  7:57 ` [PATCH v3 01/18] locking/lockdep: Change all print_*() return type to void Yuyang Du
                   ` (17 more replies)
  0 siblings, 18 replies; 20+ messages in thread
From: Yuyang Du @ 2019-03-21  7:57 UTC (permalink / raw)
  To: peterz, will.deacon, mingo
  Cc: bvanassche, ming.lei, linux-kernel, joe, Yuyang Du

Hi Peter,

I recently looked at some system hang issues. While at it, I tried to use
and understand lockdep. These patches are made as a result. I believe they
should have helped me, so hopefully they do for others as well.

Many thanks to Bart, Joe, and Peter for their valuable comments.

Change from v2:
- Removed indent adjustments only patch
- Removed unnecessary if to else-if patch
- Made changes according to comments
- Added another doc addition patch

Change from v1:
- Rebased the patch series.
- Added more no-functional-change patches.
- Removed zapped locks in lock chains printing patch, which was a band-aid.
  The real problem was recently fixed by Bart.

Thanks,
Yuyang

--

Yuyang Du (18):
  locking/lockdep: Change all print_*() return type to void
  locking/lockdep: Add description and explanation in lockdep design doc
  locking/lockdep: Adjust lock usage bit character checks
  locking/lockdep: Remove useless conditional macro
  locking/lockdep: Print the right depth for chain key colission
  locking/lockdep: Update obsolete struct field description
  locking/lockdep: Use lockdep_init_task for task initiation
    consistently
  locking/lockdep: Define INITIAL_CHAIN_KEY for chain keys to start with
  locking/lockdep: Change the range of class_idx in held_lock struct
  locking/lockdep: Remove unused argument in validate_chain() and    
    check_deadlock()
  locking/lockdep: Update comment
  locking/lockdep: Remove unnecessary function pointer argument
  locking/lockdep: Change type of the element field in circular_queue
  locking/lockdep: Change the return type of __cq_dequeue()
  locking/lockdep: Avoid constant checks in __bfs by using offset
    reference
  locking/lockdep: Combine check_noncircular and check_redundant
  locking/lockdep: Update comments on dependency search
  locking/lockdep: Add explanation to lock usage rules in lockdep design
    doc

 Documentation/locking/lockdep-design.txt | 115 ++++++--
 include/linux/lockdep.h                  |  30 +-
 init/init_task.c                         |   2 +
 kernel/fork.c                            |   3 -
 kernel/locking/lockdep.c                 | 487 +++++++++++++++++--------------
 kernel/locking/lockdep_internals.h       |   1 +
 6 files changed, 378 insertions(+), 260 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-04-04  5:03 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-21  7:57 [PATCH v3 00/18] locking/lockdep: Add comments and make some code Yuyang Du
2019-03-21  7:57 ` [PATCH v3 01/18] locking/lockdep: Change all print_*() return type to void Yuyang Du
2019-03-21  7:57 ` [PATCH v3 02/18] locking/lockdep: Add description and explanation in lockdep design doc Yuyang Du
2019-03-21  7:57 ` [PATCH v3 03/18] locking/lockdep: Adjust lock usage bit character checks Yuyang Du
2019-03-21  7:57 ` [PATCH v3 04/18] locking/lockdep: Remove useless conditional macro Yuyang Du
2019-03-21  7:57 ` [PATCH v3 05/18] locking/lockdep: Print the right depth for chain key colission Yuyang Du
2019-03-21  7:57 ` [PATCH v3 06/18] locking/lockdep: Update obsolete struct field description Yuyang Du
2019-03-21  7:57 ` [PATCH v3 07/18] locking/lockdep: Use lockdep_init_task for task initiation consistently Yuyang Du
2019-03-21  7:57 ` [PATCH v3 08/18] locking/lockdep: Define INITIAL_CHAIN_KEY for chain keys to start with Yuyang Du
2019-03-21  7:57 ` [PATCH v3 09/18] locking/lockdep: Change the range of class_idx in held_lock struct Yuyang Du
2019-03-21  7:57 ` [PATCH v3 10/18] locking/lockdep: Remove unused argument in validate_chain() and check_deadlock() Yuyang Du
2019-03-21  7:57 ` [PATCH v3 11/18] locking/lockdep: Update comment Yuyang Du
2019-03-21  7:57 ` [PATCH v3 12/18] locking/lockdep: Remove unnecessary function pointer argument Yuyang Du
2019-03-21  7:57 ` [PATCH v3 13/18] locking/lockdep: Change type of the element field in circular_queue Yuyang Du
2019-03-21  7:57 ` [PATCH v3 14/18] locking/lockdep: Change the return type of __cq_dequeue() Yuyang Du
2019-03-21  7:57 ` [PATCH v3 15/18] locking/lockdep: Avoid constant checks in __bfs by using offset reference Yuyang Du
2019-03-21  7:57 ` [PATCH v3 16/18] locking/lockdep: Combine check_noncircular and check_redundant Yuyang Du
2019-03-21  7:57 ` [PATCH v3 17/18] locking/lockdep: Update comments on dependency search Yuyang Du
2019-03-21  7:57 ` [PATCH v3 18/18] locking/lockdep: Add explanation to lock usage rules in lockdep design doc Yuyang Du
2019-04-04  5:03   ` Question on a lockdep test case about mixed read-write ABBA Yuyang Du

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.