feat(procfs): update procfs#831
Conversation
|
r? @fslongjin dragonosbot has assigned @fslongjin. Use |
|
fmt一下 |
好的 |
kernel/src/process/mod.rs
Outdated
| groups: usize, | ||
|
|
||
| ///是否是内核进程 | ||
| kthread: usize, |
There was a problem hiding this comment.
这个地方通过PCB的那个标志位就能够判断了,而不是单独加这样的一个字段。
kernel/src/process/mod.rs
Outdated
| uid: [usize; 4], | ||
|
|
||
| ///组id | ||
| gid: [usize; 4], |
kernel/src/process/mod.rs
Outdated
| /// 当前进程的线程组id(这个值在同一个线程组内永远不变) | ||
| tgid: Pid, | ||
| /// Numa Groud Id | ||
| ngid: Pid, |
There was a problem hiding this comment.
这种东西可能会变的话,那应该要放到basic info或者调度的那个schedule info里面
kernel/src/process/mod.rs
Outdated
| umask: usize, | ||
|
|
||
| ///跟踪进程PID | ||
| tracer_pid: Pid, |
kernel/src/process/mod.rs
Outdated
| ngid: Pid, | ||
|
|
||
| ///进程默认权限掩码 | ||
| umask: usize, |
There was a problem hiding this comment.
同样的道理,目前没实现的内容不用加,因为他还跟其他机制有关。
kernel/src/process/mod.rs
Outdated
| gid: [usize; 4], | ||
|
|
||
| ///文件描述符数量 | ||
| fdsize: usize, |
fslongjin
left a comment
There was a problem hiding this comment.
看得出你的用心,不过你应该是对rust的一些常见的代码规范不太熟悉,可以去看一下rust语言圣经里面的一些惯用法,目前这个代码还是太偏c的味道了哈哈哈
kernel/src/filesystem/vfs/file.rs
Outdated
| pub fn size(&self) -> usize { | ||
| let mut index: usize = 0; | ||
| let mut size: usize = 0; | ||
| while self.fds[index].is_some() { |
There was a problem hiding this comment.
这样子写是不符合rust的代码规范的,可以让gpt教你改一下。Rust 一般不循环数组下标
kernel/src/filesystem/procfs/mod.rs
Outdated
| ); | ||
|
|
||
| //fdsize | ||
| pdata.append(&mut format!("\nFDSize:\t{}", pcb.fdsize()).into()); |
|
r? @GnoCiYeH |
chiichen
left a comment
There was a problem hiding this comment.
提个小建议,PR的时候可以简单描述一下自己的工作做了什么内容,向内核提交的更改最好有测试用例和运行结果展示,比如这里的改动,就可以是cat一个profs里的一个进程,然后输出一些信息
kernel/src/process/mod.rs
Outdated
| /// # 返回值 | ||
| /// | ||
| /// 若进程是内核进程则返回true 否则返回false | ||
| pub fn kthread(&self) -> bool { |
kernel/src/process/mod.rs
Outdated
| let cwd = ProcessManager::current_pcb().basic().cwd(); | ||
| (Self::generate_pid(), ppid, cwd) | ||
| }; | ||
| let ngid = Pid(0); |
|
为procfs增加是否是kthread的显示 |
* docs(sched):调度子系统文档即cfs文档 (#807) * 调度子系统文档以及cfs文档 * fix(net): Fix TCP Unresponsiveness and Inability to Close Connections (#791) * fix(net): Improve stability. 为RawSocket与UdpSocket实现close时调用close方法,符合smoltcp的行为。为SocketInode实现drop,保证程序任何情况下退出时都能正确close对应socket, 释放被占用的端口。 * fix(net): Correct socket close behavior. * fix: disable mm debug log to prevent system lockup due to thingbuf issue (#808) * 添加支持gentoo系统的一键安装脚本 (#809) * feat(driver/pci): add pci bus into sysfs (#792) 把pci设备加入sysfs * doc: Add Gentoo Linux In build_system.md (#810) * 增加安装文档中的Gentoo Linux提示 * doc: add v0.1.10 changelog (#813) * 完成v0.1.10 changelog * fix(driver/apic_timer): 修复local apic timer初始化顺序导致的在某些云服务器上无法收到中断的bug (#815) * chore: move setup_arch_post timepoint to before clocksource_boot_finish (#820) This commit adjusts the timing of the setup_arch_post event to occur before the clocksource_boot_finish event, allowing the time subsystem to properly register architecture-specific clock sources. * feat(log): 将内核日志统一为新的logger (#814) * fix(log): 修复pr #814 的问题 (#821) * feat(driver/pci): 完善pci root结构体,增加portio的pci配置空间访问 (#818) * feat(driver/pci): 完善pci root结构体,增加portio的pci配置空间访问 * 增加rust sparse稀疏索引选项 (#826) * fix(time):修复了issue #816 (#830) * chore(tools): add the gentoo grub_auto_install support (#827) * 20240524 3:40 * 20240527 0010 * 修复mmap未延迟分配内存的问题 * feat(procfs): update procfs (#831) 为procfs增加是否是kthread的显示 增加返回进程已经占用的文件描述符数量 * Revert "Merge branch 'patch-add-file-mapping' into patch-fix-mmap" This reverts commit 8eb687c, reversing changes made to 33e9f0b. * 20240528 1800 * Revert "Revert "Merge branch 'patch-add-file-mapping' into patch-fix-mmap"" This reverts commit 9261cb7. * feat(mm): 修复mmap未延迟分配内存的问题 (#837) * 20240524 3:40 * 20240527 0010 * 修复mmap未延迟分配内存的问题 * Revert "Merge branch 'patch-add-file-mapping' into patch-fix-mmap" This reverts commit 8eb687c, reversing changes made to 33e9f0b. * update-20240529-0347 * fix(driver): fix memory security problem in tty device ioctl (#833) * add soft link to musl-gcc * fix the tty_ioctl * modified * modified * update 20240604 0233 * feat(user): user management tool (#825) * 用户管理工具 * 重构 * 改为多个bin文件入口 * bin文件的usage显示自身程序名而非固定程序名 * update 20240606 1800 * update 20240607 0200 * update 20240617 1747 * 重写页面保护标志的构造逻辑 * update20240620 1726 * 添加Riscv64的protection_map * 简单实现fat文件系统的文件映射,添加msync系统调用 * trait FileSystem增加统一接口 * MountFS实现文件映射相关接口 * 格式化代码 * feat(time): Add syscall support for utime* (#838) * feat(vfs): Add syscall support for utime* impl sys_utimensat impl sys_utimes add utimensat test fix some warning * fix(vfs): Verify pointer validity * fix: remove bad cfg * pagecache存储方式由HashMap改为XArray * 修复mprotect系统调用未正确设置vm_flags的错误 (#847) * fix(time): modify update wall time (#836) 更改了时间子系统的update_wall_time函数,通过读取当前周期数,计算delta值进行更新,而不是通过传入delta值进行更新 * chore: 调整triagebot.toml以适应新的组织架构 (#848) * doc: 完善README.md (#849) * doc: 完善README.md * chore: 更新sphinx相关配置,适应read the docs的更新 (#850) 根据read the docs在7月15日blog,进行此修改 https://about.readthedocs.com/blog/2024/07/addons-by-default/ * feat(driver/net): 实现Loopback网卡接口 (#845) * 初步实现loopback设备 * fix: build-scripts和tools目录下的make check指定工具链版本 (#861) * fix: tcp poll没有正确处理posix socket的listen状态的问题 (#859) * 使用读写锁包装Page结构体 * chore: 将工具链更新到2024-07-23 (#864) * chore: 将工具链更新到2024-07-23 * PageCache由存放物理地址改为直接存放页面 * 优化protection_map的初始化方式 * feat(fs): add eventfd syscall support (#858) * feat(fs): add eventfd syscall support * refactor: 删除过时的va-pa转换函数,改为统一使用MMArch (#862) * 添加shrink_list方法释放页面 * 默认nightly-2024-07-23 & config改为config.toml (#872) * fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 (#870) * fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 * 添加页面回收机制 * 添加页面回收内核线程 * feat(cred): 初步实现Cred (#846) * 初步实现Cred * 添加seteuid和setegid * 添加cred测试程序 * 修改Cred::fscmp返回结果为CredFsCmp枚举 * 完善root用户相关信息 * fix: 修复键盘码解析器没能正确处理类似ctrl C的控制字符的问题 (#877) * fix: 修复键盘码解析器没能正确处理类似ctrl C的控制字符的问题 * fix: 解决ntty潜在的panic问题 * 缺页中断使用的锁修改为irq_save; 添加脏页回写机制 * 优化代码结构,添加部分注释 * ci: enable ci workflow on branches other than master (#891) * 修复unlink、unlinkat系统调用的路径错误 (#892) * fix: socket shutdown wrong implement (#893) * feat: 增加tokio异步运行时支持 (#894) * fix the EventFdFlags error * feat: support tokio (Single thread version) Fix deadlock issue on closing file. Add function for PipeInode and EventFdInode. * 优化PageCache的创建 * fix: pipe 读取/写入阻塞时,无法kill进程的问题 (#889) * 将入口点改为链接器;修正链接器加载地址 * 修复合并错误 * 修复do_cow_page死锁问题 * 将PageFaultMessage中的地址对齐 * auxv添加随机数指针;修复AtType序号错误 * 简单实现用户栈的16字节对齐 * 通过check fmt * 完善用户栈的字节对齐机制 * 通过riscv64编译 * 修改测试程序路径 * 添加动态库libgcc_s.so.1 --------- Co-authored-by: GnoCiYeH <heyicong@dragonos.org> Co-authored-by: Samuel Dai <samuka007@qq.com> Co-authored-by: LoGin <longjin@DragonOS.org> Co-authored-by: donjuanplatinum <113148619+donjuanplatinum@users.noreply.github.com> Co-authored-by: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com> Co-authored-by: Mingtao Huang <114841534+1037827920@users.noreply.github.com> Co-authored-by: BrahmaMantra <140599389+BrahmaMantra@users.noreply.github.com> Co-authored-by: laokengwt <143977175+laokengwt@users.noreply.github.com> Co-authored-by: Jomo <xuzihao@dragonos.org> Co-authored-by: linfeng <chenlinfeng25@outlook.com> Co-authored-by: SMALLC <121806694+smallcjy@users.noreply.github.com> Co-authored-by: linfeng <1925466036@qq.com> Co-authored-by: Chiichen <chiichen@qq.com> Co-authored-by: Samuel Dai <dailvchen@dragonos.org>
为procfs增加是否是kthread的显示 增加返回进程已经占用的文件描述符数量
No description provided.