[PATCH 0/5] Minor memory size optimization in debugobjects

From: Woody Zhang
Date: Wed Aug 21 2024 - 19:05:58 EST


As of now, debugobjects framework uses hlist_head and separate spinlock
as a hash table bucket. We have hlist_bl_head APIs which embeds a
bit_spinlock in head pointer and thus no separate spinlock is required.

This patchset first wraps irq variant API for bit_spinlock as well as
hlist_bl_lock and several other APIs and macros. Lastly, It replaces
hlist APIs with hlist_bl counterparts.

Woody Zhang (5):
bit_spinlock: add irq variant for bit spinlock API
list_bl: add irq variant for hlist_bl lock API
list_bl: remove lock check in hlist_bl_set_first
list_bl: add hlist_bl_move_list and two macros
debugobjects: use list_bl to save memory for hash slot spinlocks

include/linux/bit_spinlock.h | 37 +++++
include/linux/debugobjects.h | 4 +-
include/linux/list_bl.h | 40 ++++-
lib/debugobjects.c | 288 +++++++++++++++++------------------
4 files changed, 217 insertions(+), 152 deletions(-)

--
2.45.2