Whether or not we have a spare ida_bitmap hanging off ida->free_bitmap
doesn't seem related to whether the embedded struct idr may have a
spare struct idr_layer in its free list. So the only thing this
condition does is increase the chance that we end up calling
get_from_free_list in vain.

Signed-off-by: Rasmus Villemoes <[email protected]>
---
 lib/idr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/idr.c b/lib/idr.c
index 9cbfae251d77..1e786f817e66 100644
--- a/lib/idr.c
+++ b/lib/idr.c
@@ -991,7 +991,7 @@ int ida_get_new_above(struct ida *ida, int starting_id, int 
*p_id)
         * Throw away extra resources one by one after each successful
         * allocation.
         */
-       if (ida->idr.id_free_cnt || ida->free_bitmap) {
+       if (ida->idr.id_free_cnt) {
                struct idr_layer *p = get_from_free_list(&ida->idr);
                if (p)
                        kmem_cache_free(idr_layer_cache, p);
-- 
2.1.4

Reply via email to