[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240911083521.2257-1-thunder.leizhen@huawei.com>
Date: Wed, 11 Sep 2024 16:35:18 +0800
From: Zhen Lei <thunder.leizhen@...wei.com>
To: Andrew Morton <akpm@...ux-foundation.org>, Thomas Gleixner
<tglx@...utronix.de>, <linux-kernel@...r.kernel.org>
CC: Zhen Lei <thunder.leizhen@...wei.com>
Subject: [PATCH v3 0/3] debugobjects: Do some minor optimizations, fixes and cleaups
v2 --> v3:
1. Use the lockless mode to fill the pool.
v1 --> v2:
1. Fix the compilation attributes of some global variables
2. Update comments and commit messages.
v1:
The summary changes of the first two patches is as follows:
if (likely(READ_ONCE(obj_pool_free) >= debug_objects_pool_min_level))
return;
- while (READ_ONCE(obj_nr_tofree) && (READ_ONCE(obj_pool_free) < obj_pool_min_free)) {
+ if (READ_ONCE(obj_nr_tofree)) {
raw_spin_lock_irqsave(&pool_lock, flags);
- while (obj_nr_tofree && (obj_pool_free < obj_pool_min_free)) {
+ while (obj_nr_tofree && (obj_pool_free < debug_objects_pool_min_level)) {
... ...
}
raw_spin_unlock_irqrestore(&pool_lock, flags);
Zhen Lei (3):
debugobjects: Delete a piece of redundant code
debugobjects: Use hlist_splice_init() to reduce lock conflicts
debugobjects: Reduce contention on pool lock in fill_pool()
lib/debugobjects.c | 105 ++++++++++++++++++++++++++++++---------------
1 file changed, 70 insertions(+), 35 deletions(-)
--
2.34.1
Powered by blists - more mailing lists