- 将 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> |
||
|---|---|---|
| .. | ||
| index.rst | ||
| locks.md | ||
| mutex.md | ||
| rwlock.md | ||
| rwsem.md | ||
| spinlock.md | ||