* feat(block): 新增异步BIO框架并集成到virtio-blk驱动 - 新增BIO请求结构体(BioRequest)和FIFO队列(BioQueue),支持异步读写操作 - 在BlockDevice trait中增加submit_bio、submit_bio_read、submit_bio_write方法,提供异步接口和同步 回退机制 - 重构virtio-blk驱动,使用异步BIO框架替代原有的同步读写,提升IO性能 - 新增IO线程处理BIO请求,支持批量处理和budget控制,避免CPU独占 - 使用tasklet处理中断下半部,完成BIO请求的异步回调 - 将BlockDevManager和BlockDevMeta中的SpinLock替换为Mutex,改善锁机制 Signed-off-by: longjin <longjin@DragonOS.org> * refactor(kernel): 将FutexData的锁类型从SpinLock替换为Mutex,并调整进程退出时调度实体停用的顺序 - 将FutexData结构体及其方法中的SpinLock和SpinLockGuard替换为Mutex和MutexGuard - 在进程退出流程中,将调度实体deactivate操作移至清理用户态资源之后,以避免潜在的 用户态缺页异常 Signed-off-by: longjin <longjin@DragonOS.org> * fix: 修复进程退出的时候,持自旋锁访问用户内存触发磁盘读取,导致panic的问题 Signed-off-by: longjin <longjin@DragonOS.org> --------- Signed-off-by: longjin <longjin@DragonOS.org> |
||
|---|---|---|
| .. | ||
| .cargo | ||
| crates | ||
| src | ||
| submodules | ||
| .clippy.toml | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Makefile | ||
| build.rs | ||
| env.mk | ||
| rust-toolchain.toml | ||