[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