zephyr/kernel
Peter Mitsis e9b288b713 kernel: mutex: remove unnecessary schedule locking
Removes an unnecessary schedule lock/unlock pair from k_mutex_unlock().

Rationale: Given that only the current thread (which would also be the
mutex owner) will be able to modify the mutex object AND that a
recursive unlock ought never trigger any reschedule (as it does not
touch the pend queue), then performing a schedule lock is not needed
prior to testing for a recursive unlock.

Furthermore, even if it is not a recursive unlock, then a schedule lock
is superfluous as the existing spinlock provides sufficient protection.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2022-04-20 21:03:59 -04:00
..
include pm: Only resize power domains 2022-04-18 17:25:01 -07:00
paging
CMakeLists.txt
Kconfig pm: device: Dynamically add a device to a power domain 2022-04-18 17:25:01 -07:00
Kconfig.vm everywhere: fix typos 2022-03-18 13:24:08 -04:00
atomic_c.c
banner.c
cache_handlers.c
compiler_stack_protect.c
condvar.c
device.c kernel/device: Remove unknown external pointer 2022-04-08 09:59:00 -04:00
errno.c
events.c
fatal.c
futex.c
idle.c
init.c kernel: Remove idle thread cpu index on single-core devices 2022-03-30 10:08:48 -04:00
kheap.c
mailbox.c
main_weak.c
mem_domain.c
mem_slab.c
mempool.c
mmu.c
msg_q.c
mutex.c kernel: mutex: remove unnecessary schedule locking 2022-04-20 21:03:59 -04:00
pipes.c
poll.c everywhere: fix typos 2022-03-14 20:22:24 -04:00
queue.c
sched.c kernel: introduce convinience apu to pin thread to a cpu 2022-04-19 13:05:09 -04:00
sem.c
smp.c
stack.c
system_work_q.c
thread.c kernel: update k_thread_state_str() API 2022-04-20 20:20:13 -04:00
timeout.c kernel/timeout: Cleanup/speedup parallel announce logic 2022-04-13 13:26:14 -07:00
timer.c
usage.c
userspace.c userspace: plug thread index leak in k_object_alloc() 2022-03-14 19:18:34 -04:00
userspace_handler.c
version.c
work.c
xip.c