DragonOS/docs/kernel/locking
LoGin 3fc8866dd5
refactor(kernel): 重构 Mutex 和 WaitQueue 实现,使用状态机避免唤醒丢失 (#1643)
- 将 Mutex 内部实现从 SpinLock+LinkedList 改为 AtomicBool+WaitQueue
- 重构 WaitQueue 的 Waker
机制,使用四态状态机(Idle/Sleeping/Notified/Closed)替代 AtomicBool
- 引入 Waiter/Waker 握手机制,通过 prepare_sleep() 和 consume_notification()
避免竞态条件
- 在 Mutex::lock() 中直接使用 wait_queue.wait_until(),简化加锁逻辑
- 修复监控脚本中的权限问题,将 kill 命令改为 sudo kill

Signed-off-by: longjin <longjin@DragonOS.org>
2026-01-13 20:50:15 +08:00
..
index.rst feat(sched): 新增FIFO调度器实现及演示功能 (#1606) 2026-01-05 20:00:24 +08:00
locks.md feat(sched): 新增FIFO调度器实现及演示功能 (#1606) 2026-01-05 20:00:24 +08:00
mutex.md refactor(kernel): 重构 Mutex 和 WaitQueue 实现,使用状态机避免唤醒丢失 (#1643) 2026-01-13 20:50:15 +08:00
rwlock.md Rwlock文档 (#186) 2023-03-06 11:28:32 +08:00
rwsem.md refactor: 重构 RwSem 和 WaitQueue 实现,解决并发冲突问题 (#1637) 2026-01-13 14:30:35 +08:00
spinlock.md feat(log): 将内核日志统一为新的logger (#814) 2024-05-16 17:25:23 +08:00