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 pm: Do not suspend during kernel initialization 2022-01-19 14:14:28 -05:00
init.c kernel: Remove idle thread cpu index on single-core devices 2022-03-30 10:08:48 -04:00
kheap.c
mailbox.c kernel: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
main_weak.c
mem_domain.c
mem_slab.c kernel: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
mempool.c
mmu.c kernel: mmu: add a log line for z_phys_unmap 2022-02-24 08:38:38 -06:00
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 kernel: Refactor SMP cpu initialization a bit 2022-03-01 09:59:15 -05:00
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 kernel: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
usage.c kernel: Update CPU runtime stats of non-idle time 2022-01-20 08:22:01 -05:00
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 kernel/init.c: allow for memset/memcpy alternatives during early boot 2022-02-21 21:00:12 -05:00