[PATCH 2/5] debugobjects: Remove redundant checks in fill_pool()

From: Zhen Lei
Date: Mon Sep 02 2024 - 10:10:28 EST


The conditions for the inner and outer loops are exactly the same, so the
outer 'while' should be changed to 'if'. Then we'll see that the second
condition of the new 'if' is already guaranteed above and can be removed.

Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
---
lib/debugobjects.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 1ea8af72849cdb1..aba3e62a4315f51 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -142,8 +142,7 @@ static void fill_pool(void)
* READ_ONCE()s pair with the WRITE_ONCE()s in pool_lock critical
* sections.
*/
- while (READ_ONCE(obj_nr_tofree) &&
- READ_ONCE(obj_pool_free) < debug_objects_pool_min_level) {
+ if (READ_ONCE(obj_nr_tofree)) {
raw_spin_lock_irqsave(&pool_lock, flags);
/*
* Recheck with the lock held as the worker thread might have
--
2.34.1