[PATCH v4 0/4] locking/lockdep: Disable KASAN instrumentation of lockdep.c

Waiman Long posted 4 patches 10 months, 1 week ago
kernel/locking/Makefile           |  3 ++-
kernel/locking/lock_events_list.h | 29 +++++++++++++++++++++++++++++
kernel/locking/lockdep.c          | 22 +++++++++++++++++++++-
kernel/locking/rtmutex.c          | 29 ++++++++++++++++++++++++-----
4 files changed, 76 insertions(+), 7 deletions(-)
[PATCH v4 0/4] locking/lockdep: Disable KASAN instrumentation of lockdep.c
Posted by Waiman Long 10 months, 1 week ago
 v3: 
  - Add another patch to insert lock events into lockdep.c.
  - Rerun all the tests with the simpler defconfig kernel build and do
    further analysis of the of the performance difference between the
    the RT and non-RT debug kernels.

 v4:
  - Update test results in patch 3 after incorporating CONFIG_KASAN_INLINE
    into the test matrix.
  - Add patch 4 to call kasan_check_byte() in lock_acquire.

It is found that disabling KASAN instrumentation when compiling
lockdep.c can significantly improve the performance of RT debug kernel
while the performance benefit of non-RT debug kernel is relatively
modest.

This series also include patches to add locking events to the rtmutex
slow paths and the lockdep code for better analysis of the different
performance behavior between RT and non-RT debug kernels.

Waiman Long (4):
  locking/lock_events: Add locking events for rtmutex slow paths
  locking/lock_events: Add locking events for lockdep
  locking/lockdep: Disable KASAN instrumentation of lockdep.c
  locking/lockdep: Add kasan_check_byte() check in lock_acquire()

 kernel/locking/Makefile           |  3 ++-
 kernel/locking/lock_events_list.h | 29 +++++++++++++++++++++++++++++
 kernel/locking/lockdep.c          | 22 +++++++++++++++++++++-
 kernel/locking/rtmutex.c          | 29 ++++++++++++++++++++++++-----
 4 files changed, 76 insertions(+), 7 deletions(-)

-- 
2.48.1
Re: [PATCH v4 0/4] locking/lockdep: Disable KASAN instrumentation of lockdep.c
Posted by Boqun Feng 9 months, 3 weeks ago
On Thu, Feb 13, 2025 at 03:02:24PM -0500, Waiman Long wrote:
>  v3: 
>   - Add another patch to insert lock events into lockdep.c.
>   - Rerun all the tests with the simpler defconfig kernel build and do
>     further analysis of the of the performance difference between the
>     the RT and non-RT debug kernels.
> 
>  v4:
>   - Update test results in patch 3 after incorporating CONFIG_KASAN_INLINE
>     into the test matrix.
>   - Add patch 4 to call kasan_check_byte() in lock_acquire.
> 
> It is found that disabling KASAN instrumentation when compiling
> lockdep.c can significantly improve the performance of RT debug kernel
> while the performance benefit of non-RT debug kernel is relatively
> modest.
> 
> This series also include patches to add locking events to the rtmutex
> slow paths and the lockdep code for better analysis of the different
> performance behavior between RT and non-RT debug kernels.
> 

Thank you, and thank Marco and Andrey for the reviews. Queued for v6.15.

Regards,
Boqun

> Waiman Long (4):
>   locking/lock_events: Add locking events for rtmutex slow paths
>   locking/lock_events: Add locking events for lockdep
>   locking/lockdep: Disable KASAN instrumentation of lockdep.c
>   locking/lockdep: Add kasan_check_byte() check in lock_acquire()
> 
>  kernel/locking/Makefile           |  3 ++-
>  kernel/locking/lock_events_list.h | 29 +++++++++++++++++++++++++++++
>  kernel/locking/lockdep.c          | 22 +++++++++++++++++++++-
>  kernel/locking/rtmutex.c          | 29 ++++++++++++++++++++++++-----
>  4 files changed, 76 insertions(+), 7 deletions(-)
> 
> -- 
> 2.48.1
>