Re: [PATCH 00/28] Optimize IRQ usage checks and other small bits

From: Peter Zijlstra
Date: Thu Apr 25 2019 - 14:56:49 EST


On Wed, Apr 24, 2019 at 06:19:06PM +0800, Yuyang Du wrote:
> Yuyang Du (28):
> 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: 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: Update comments on dependency search
> locking/lockdep: Add explanation to lock usage rules in lockdep design
> doc
> locking/lockdep: Remove redundant argument in check_deadlock
> locking/lockdep: Remove unused argument in __lock_release

Those look really good (but don't readily apply to tip/locking/core) now
let me try and look at the real changes..

> locking/lockdep: Optimize irq usage check when marking lock usage bit
> locking/lockdep: Refactorize check_noncircular and check_redundant
> locking/lockdep: Consolidate lock usage bit initialization
> locking/lockdep: Adjust new bit cases in mark_lock
> locking/lockdep: Update irqsafe lock bitmaps
> locking/lockdep: Remove !dir in lock irq usage check
> locking/lockdep: Implement new IRQ usage checking algorithm
> locking/lockdep: Remove __bfs
> locking/lockdep: Remove locks_before
> locking/lockdep: Reduce lock_list_entries by half