Patch fix sched (#419)

1.解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug
2.修复socket inode 的read和write方法里面没有使用no_preempt的问题
3. 修复cpu0的内核栈由于脏数据导致new_idle的时候set pcb报错的问题

---------

Co-authored-by: longjin <longjin@DragonOS.org>
This commit is contained in:
GnoCiYeH
2023-11-04 21:35:25 +08:00
committed by GitHub
parent 8058ccb307
commit 2f6f547ae0
12 changed files with 144 additions and 28 deletions

View File

@ -88,6 +88,7 @@ impl phy::TxToken for E1000ETxToken {
let result = f(buffer.as_mut_slice());
let mut device = self.driver.inner.lock();
device.e1000e_transmit(buffer);
buffer.free_buffer();
return result;
}
}