-
-
Notifications
You must be signed in to change notification settings - Fork 145
refactor(net): the big network rebuild #977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
uevent should be format Enum of smoltcp socket should be optimized. need to add interface for routing subsys actix is still not abled to run. clean some casual added code to other places
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试 * 修改net设备的uevent内容,使之与Linux语义一致 * 删除无用注释
…ent-network-rebuild
…t-network-rebuild
clean format, enable ctrl-c in accept blocking
feat: merge master and ready for pr in master
@Samuka007: no appropriate reviewer found, use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
需要添加文档
设备驱动模型部分发生了更改,请进行审查 cc @fslongjin |
@dragonosbot review |
- 修复`copy_process`函数对标志位处理不正确的bug - init进程搜索列表中,支持为默认init程序传入参数 Signed-off-by: longjin <[email protected]>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 - 修复`copy_process`函数对标志位处理不正确的bug - init进程搜索列表中,支持为默认init程序传入参数 Signed-off-by: longjin <[email protected]> * feat: 完善sys_reboot - 校验magic number - 支持多个cmd (具体内容未实现) Signed-off-by: longjin <[email protected]> --------- Signed-off-by: longjin <[email protected]>
Signed-off-by: longjin <[email protected]>
* 几个结构体 * 通过vmx_init以及create_vm,create_vcpu部分TODO * kvm_run完成一半 * 能够成功vmlaunch,但是在vmexit时候还有些问题未排查出来 * 解决了vmlaunch导致的cpu_reset的问题 * 整理代码 * 暂时性push到hyc仓库 * 修改内存虚拟化部分参数传入,解决死锁问题 * 初步完成ept映射.但不停EPT_VIOLATION * 初步完成了EPT映射,但是读写内存还是有点问题 * fixme * 更新了一些truncate到from_bits_unchecked的实现 * 完成内存虚拟化EPT_VIOLATION的映射 * fmt * Remove /fixme from .gitignore * Remove /fixme file * Update kernel/src/init/init.rs Co-authored-by: Samuel Dai <[email protected]> * Update kernel/src/init/init.rs Co-authored-by: Samuel Dai <[email protected]> * 修改了注释格式,删除了附带的一些文件操作 * feat(syscall): 实现syscall restart (#1075) 能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用. TODO: 实现wait等需要restart_block的系统调用的重启 Signed-off-by: longjin <[email protected]> * chore: update docker image version in script && update doc (#1076) * chore: update docker image version in script * chore: replace lots of spaces with newline in doc * fix: 修复wait4系统调用部分语义与Linux不一致的问题 (#1080) * fix: 修复wait4系统调用部分语义与Linux不一致的问题 解决wait不住/wait之后卡死的bug --------- Signed-off-by: longjin <[email protected]> * feat(fs/syscall): 实现fchdir系统调用 (#1081) Signed-off-by: longjin <[email protected]> * fix(mm): 修复fat文件系统的PageCache同步问题 (#1005) --------- Co-authored-by: longjin <[email protected]> * fix: 修正nographic启动时,控制台日志未能输出到文件的问题 (#1082) Signed-off-by: longjin <[email protected]> * fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083) - 修复`copy_process`函数对标志位处理不正确的bug - init进程搜索列表中,支持为默认init程序传入参数 Signed-off-by: longjin <[email protected]> * feat: 完善sys_reboot (#1084) * fix(process): 修复copy_process的一些bug & 支持默认init进程传参 - 修复`copy_process`函数对标志位处理不正确的bug - init进程搜索列表中,支持为默认init程序传入参数 Signed-off-by: longjin <[email protected]> * feat: 完善sys_reboot - 校验magic number - 支持多个cmd (具体内容未实现) Signed-off-by: longjin <[email protected]> --------- Signed-off-by: longjin <[email protected]> * fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089) Signed-off-by: longjin <[email protected]> * pull主线并且fmt --------- Signed-off-by: longjin <[email protected]> Co-authored-by: GnoCiYeH <[email protected]> Co-authored-by: Samuel Dai <[email protected]> Co-authored-by: LoGin <[email protected]> Co-authored-by: LIU Yuwei <[email protected]> Co-authored-by: MemoryShore <[email protected]>
修复split_pos 初始值错误导致原本应该被插入到链表末尾的定时器,插入到了链表头 Signed-off-by: longjin <[email protected]>
dae1832
to
a02f4c0
Compare
…twork-refactor Revert "Merge Master"
Signed-off-by: longjin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dead code本质是未经测试&未使用的代码,不稳定且具有迷惑性
不是这样假装无事给他忽略的
Signed-off-by: longjin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
日志还需要删一下,或者调整为trace级别。
if has_events { | ||
bound_socket.on_iface_events(); | ||
let _woke = bound_socket | ||
.wait_queue() | ||
.wakeup(Some(ProcessState::Blocked(true))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个是中断上下文内,然后涉及到的tcp那边有把inner的锁,没有lock_irqsave。这个不符合锁的安全规定。
导致http_server刷新多几次就有可能卡死死锁。由于涉及面比较广,tcp socket的inner全部都irq_save感觉不现实。这里可能需要解耦一下,或者加些无锁的结构去做
// TODO: remove closed sockets | ||
// let closed_sockets = self | ||
// .closing_sockets | ||
// .lock_irq_disabled() | ||
// .extract_if(|closing_socket| closing_socket.is_closed()) | ||
// .collect::<Vec<_>>(); | ||
// drop(closed_sockets); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里为什么注释掉了?
Signed-off-by: longjin <[email protected]>
b6cc375
to
2452957
Compare
New TODO: 需要完善 epoll 机制 |
一次自认为性价比并不十分高的网络子系统重构,但是辛苦 @val213 @smallcjy @1037827920 @Saga1718 的大力支持,愿意在三天两头构建不成功的网络重构分支下协助我一同完成重构。现网络重构分支已准备好合入主线!