walnux/fs
chao an ace7f0c633 fs/spinlock: replace no sched_lock() version to improve the performance
after below change merge to kernel, spin_lock() will turn off preemption by default,
but this change is not applicable to all scenarios. The locations in the kernel that
use spin_lock() extensively only require short critical sections and do not trigger
scheduling, which leads to serious performance degradation of NuttX in AMP mode.

In this PR, I try to expose similar problems and hope that each subsystem will carefully check the code coverage

https://github.com/apache/nuttx/pull/14578
|commit b69111d16a
|Author: hujun5 <hujun5@xiaomi.com>
|Date:   Thu Jan 23 16:14:18 2025 +0800
|
|    spinlock: add sched_lock to spin_lock_irqsave
|
|    reason:
|    We aim to replace big locks with smaller ones. So we will use spin_lock_irqsave extensively to
|    replace enter_critical_section in the subsequent process. We imitate the implementation of Linux
|    by adding sched_lock to spin_lock_irqsave in order to address scenarios where sem_post occurs
|    within spin_lock_irqsave, which can lead to spinlock failures and deadlocks.
|
|    Signed-off-by: hujun5 <hujun5@xiaomi.com>

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-01-24 11:48:23 +08:00
..
aio fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
binfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
cromfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
driver fs: add merge partitions support 2024-11-07 14:59:23 +08:00
event Fix path error 2024-11-28 15:04:59 +08:00
fat fs/fat/fs_fat32util.c: fix potential exception due to dividing zero during mounting when fat is corrupted 2024-12-13 11:22:54 +08:00
hostfs hostfs_open:return errno from host 2025-01-14 23:03:20 +08:00
inode fs/spinlock: replace no sched_lock() version to improve the performance 2025-01-24 11:48:23 +08:00
littlefs littlefs: fix EINVAL on path operations with littlefs 2.10.0 2024-12-29 20:43:33 -03:00
mmap fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
mnemofs fix nxstyle 2024-12-10 01:29:00 +08:00
mount wqueue: wqueue remove csection 2025-01-15 17:26:07 +08:00
mqueue arch_atomic: only support atomic_xx and atomic64_xx function 2024-12-04 14:03:14 +01:00
nfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
notify fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
nxffs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
partition fs/partition/txtable: Fix panic when no txtable was found in last eraseblock 2024-11-26 18:23:06 +08:00
procfs procfs/meminfo: align page fields to columns 2025-01-22 20:29:07 +08:00
romfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
rpmsgfs Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
semaphore fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
shm fs/shm/shmfs_alloc.c: Allocate zero-initialized memory in flat build 2024-12-12 21:47:41 +08:00
smartfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
socket Map user memory passed to accept() in kernel build 2024-12-20 00:57:40 +02:00
spiffs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
tmpfs fs/tmpfs: Skip any slash at the beginning of relpath 2024-12-07 11:40:00 +08:00
unionfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
userfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
v9fs v9fs:socket driver 2025-01-20 17:12:14 +08:00
vfs fs/uio: do not overwrite the return value 2025-01-22 16:45:46 +08:00
zipfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
CMakeLists.txt fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
fs_heap.c fs_heap:add fs_heap_mallinfo_task 2025-01-15 17:12:50 +08:00
fs_heap.h fs_heap:add fs_heap_mallinfo_task 2025-01-15 17:12:50 +08:00
fs_initialize.c fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
Kconfig fs/reference_count: set default reference count option depends on DISABLE_PTHREAD 2024-12-12 13:47:22 +08:00
Make.defs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
Makefile fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00