Commit Graph

1 Commits

Author SHA1 Message Date
LoGin f095a26655
feat(process): 实现进程与线程CPU时间统计及clock_nanosleep支持 (#1517)
* feat(process): 实现进程与线程CPU时间统计及clock_nanosleep支持

- 新增ProcessCpuTime结构体,用于统计用户态、内核态及总执行时间
- 为PCB添加cputime_wait_queue,支持CLOCK_PROCESS/THREAD_CPUTIME_ID的clock_nanosleep
- 在调度器CPU时间统计中增加CPU-time等待队列唤醒逻辑
- 扩展clock_gettime和clock_nanosleep系统调用,支持进程和线程CPU时间时钟
- 添加PosixTimeSpec::from_ns方法,便于从纳秒创建时间规格
- 更新测试白名单,添加clock_nanosleep_test

Signed-off-by: longjin <longjin@DragonOS.org>

* feat(cputime): 增强进程CPU时间统计并添加多线程测试

- 在`process_cputime_ns`中添加对无效线程组关系的防御性回退和日志记录
- 为`thread_cputime_ns`添加原子操作顺序的注释说明
- 新增多线程CPU时间测试程序,验证进程CPU时间累加线程时间的功能

Signed-off-by: longjin <longjin@DragonOS.org>

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-20 23:04:23 +08:00