linux-test-project 中有几项测试可以断言内核计时器的精度
https://github.com/linux-test-project/ltp
- 民意调查02
- pselect01
- pselect01_64
- epoll_wait02
- nanosleep01
- select04
- futex_wait05
- clock_nanosleep02
这些测试在装有 5.11、5.12 和 5.13 的 Ubuntu 20.04 机器上也失败了。
我认为这与时钟设置有关,我也尝试设置 ntp 和 chrony。它通过了一次,但仍然失败
但是这些测试通过了 sudo 权限
sudo ./poll02 -> PASS
./poll02 -> FAIL
有人能告诉我为什么这个测试使用 sudo 系统调用时通过,而使用非 sudo 用户时失败吗?如何让这个测试通过
测试不应该使用 sudo 运行。如果需要 root,则最后将指定 needs_root=true
https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/syscalls/poll/poll02.c
答案1
项目的自述文件说:
请注意,许多测试用例必须以 root 身份执行。
这些测试失败,sudo
因为它们被设计为以 root 身份运行。