kernel: Optimize k_mem_slab_free()

Optimizes k_mem_slab_free() for the case where the slab's memory is
not exhausted.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This commit is contained in:
Peter Mitsis 2024-12-11 14:11:24 -08:00 committed by Benjamin Cabé
commit 815d669971

View file

@ -278,7 +278,7 @@ void k_mem_slab_free(struct k_mem_slab *slab, void *mem)
k_spinlock_key_t key = k_spin_lock(&slab->lock);
SYS_PORT_TRACING_OBJ_FUNC_ENTER(k_mem_slab, free, slab);
if ((slab->free_list == NULL) && IS_ENABLED(CONFIG_MULTITHREADING)) {
if (unlikely(slab->free_list == NULL) && IS_ENABLED(CONFIG_MULTITHREADING)) {
struct k_thread *pending_thread = z_unpend_first_thread(&slab->wait_q);
if (unlikely(pending_thread != NULL)) {