Ruize Tang
d083aef690
Add a simple test for checking FPU state in signal
2025-07-18 11:40:16 +08:00
Qingsong Chen
f1299d4b8d
Save FPU context on signal stack
2025-07-18 11:40:16 +08:00
Chen Chengjun
749fe77591
Add an initial script to mount several file systems
2025-07-17 13:51:45 +08:00
Qingsong Chen
4736004cff
Fix lmbench by adding delay to ensure lmhttp starts
2025-07-08 16:29:52 +08:00
Qingsong Chen
20c2e967fe
Fix benchmark CI errors
2025-07-07 13:34:32 +08:00
Qingsong Chen
aca1339d77
Add README.md for test directory
2025-07-04 18:52:26 +08:00
Qingsong Chen
7118124fc2
Use nix to build initramfs
2025-07-04 18:52:26 +08:00
Qingsong Chen
490eaf6c81
Restructure the test directory
2025-07-04 18:52:26 +08:00
Ruihan Li
d73cbb5008
Clarify the `DeviceId` encoding
2025-07-03 14:30:14 +08:00
Wang Siyuan
a13297ae4c
Add fields in `/proc/*/stat` and `/proc/*/status`
2025-07-02 20:13:47 +08:00
Chen Chengjun
f274af17de
Add a regression test
2025-07-02 16:08:00 +08:00
Qingsong Chen
7c68b36957
Install nix packages in docker image
2025-07-02 15:39:53 +08:00
Ruihan Li
3f1bf99b2a
Make `mremap` behavior consistent with Linux
2025-06-26 11:41:56 +08:00
Ruihan Li
079be2f30f
Enable syscall tests for UNIX sockets
2025-06-26 11:11:03 +08:00
jiangjianfeng
283f6eebed
Add regression test for UNIX stream socket options
2025-06-24 17:25:44 +08:00
Wang Siyuan
f442cc6d81
Automatically merge adjacent and compatible `VmMapping`s
2025-06-24 12:15:24 +08:00
js2xxx
c5d57d5216
Fix mapping between `sched_attr` and `SchedPolicy`
2025-06-24 10:31:32 +08:00
Ruihan Li
0875cf6644
Move the test framework out
2025-06-24 10:24:13 +08:00
Ruihan Li
6af39b2d30
Add error code tests for `mremap` syscall
2025-06-24 10:24:13 +08:00
Ruihan Li
ee542e043e
Improve the test framework for MM syscalls
2025-06-24 10:24:13 +08:00
Ruihan Li
751e0b2ebf
Don't jump to the end of the cursor range
2025-06-23 10:54:30 +08:00
Wang Siyuan
11f9675f37
Support the system call `mremap`
2025-06-21 16:18:09 +08:00
jiangjianfeng
95faea0fb0
Support WSTOPPED and WCONTINUED
2025-06-20 11:51:44 +08:00
Ruihan Li
4a9977d9a7
Make zero reads/writes' behavior right
2025-06-17 16:09:33 +08:00
Chen Chengjun
627dd0386b
Enable FUTEX_WAKE_OP
2025-06-16 11:02:17 +08:00
Zhang Junyang
525085ab86
Implement system call `msync`
2025-06-15 16:25:37 +08:00
Zhang Junyang
a2aedcfb3a
Add a SMP LTP block list
2025-06-13 21:14:38 +08:00
Ruihan Li
796635486c
Handle broken netlink attributes
2025-06-13 11:27:22 +08:00
Ruihan Li
deab9b6f72
Truncate netlink messages
2025-06-13 11:27:22 +08:00
Ruihan Li
0661a0656b
Never queue an ignored signal
2025-06-12 16:15:53 +08:00
Cautreoxit
3e32a38316
Add sys_close_range
2025-06-11 19:56:12 +08:00
Cautreoxit
0b471ef370
Add sys_epoll_pwait2
2025-06-09 20:20:40 +08:00
Ruihan Li
fe6b78058c
Correct the blocking behavior
2025-06-09 13:10:34 +08:00
jiangjianfeng
d35888c817
Add uevent_err test
2025-06-06 11:33:09 +08:00
Qingsong Chen
38c9ab0615
Add LTP syscall tests
2025-06-04 11:04:30 +08:00
Qingsong Chen
a0af7ae680
Rename SYSCALL_TEST_DIR to SYSCALL_TEST_WORKDIR for clarity
2025-06-04 11:04:30 +08:00
Wang Siyuan
58e4f45bb1
Add per-CPU counters and track RSS for each `Vmar`
2025-06-03 23:24:32 +08:00
Ruihan Li
63daf69e17
Fix incorrect types in `sys_getcpu`
2025-05-29 10:33:02 +08:00
Hsy-Intel
dec7ac1346
Add safety check to `stop_guest` function to prevent killing non-existent processes
2025-05-16 11:34:18 +08:00
Ruihan Li
d5c7a8bae3
Allow non-leaders to operate jobs
2025-05-12 16:09:43 +08:00
Hsy-Intel
7cd41349d1
Fix yq installation issue
2025-05-11 12:22:41 +08:00
Ruihan Li
da82ca619f
Add job control regression tests
2025-05-09 17:12:31 +08:00
Ruihan Li
ff907d1131
Implement race-free job control
2025-05-09 17:12:31 +08:00
Ruihan Li
50ba735e96
Handle negative P(G)IDs via `cast_(un)signed`
2025-05-09 11:38:01 +08:00
Ruihan Li
a993264265
Refactor and test `get{pgid,sid}`
2025-05-06 18:47:10 +08:00
Ruihan Li
7e4509df9c
Refactor and test `set{pgid,sid}`
2025-05-06 18:47:10 +08:00
Chen Chengjun
7def2649ba
Enable timerfd gvisor test
2025-04-25 16:33:46 +08:00
Shaowei Song
764e3afa7c
Add a simple test case for OverlayFS
2025-04-24 20:07:06 +08:00
Fabing Li
79b0866259
Add sysfs implementation
2025-04-24 20:03:54 +08:00
Ruihan Li
17e5108c17
Add regression tests
2025-04-23 20:37:40 +08:00
Fabing Li
e9c85ff158
Only pack benchmark utils while running benchmarks
2025-04-21 11:22:46 +08:00
jiangjianfeng
8815ca384f
Add syscall ppoll
2025-04-21 11:19:48 +08:00
jiangjianfeng
5e9f537222
Add netlink regression test and gVisor test
2025-04-15 17:20:12 +08:00
Ruihan Li
f8429b2735
Add a regression test
2025-04-14 21:13:11 +08:00
Fabian LI
e4e27647c2
Update href in documents
2025-04-10 14:46:01 +08:00
Fabian LI
5e4b612b46
Reconstruct benchmark workflow to support multiple architectures
2025-04-10 14:46:01 +08:00
Chen Chengjun
9915978d35
Enable vfork gVisor test
2025-04-03 14:44:39 +08:00
Fabing Li
2cfb470789
Fix lmbench/ramfs_create_delete_files_0k_ops
2025-03-29 11:12:13 +08:00
Fabing Li
112cf087a6
Add memory size configuration to benchmarks
2025-03-29 11:12:13 +08:00
Shaowei Song
865003738a
Enable gvisor xattr syscall test
2025-03-28 15:08:59 +08:00
Fabing Li
bce23a63bd
Add sys_signalfd/sys_signalfd implementation
2025-03-21 16:10:55 +08:00
jiangjianfeng
d366043876
Enable sig_action test from gVisor test
2025-03-14 16:09:11 +08:00
Zejun Zhao
7afc3c88f9
Clean up configs of schbench
2025-03-14 15:45:18 +08:00
Ruihan Li
d40d452e9d
Receive RST packets as `ECONNRESET` errors
2025-03-10 18:08:08 +08:00
Ruihan Li
aa29640ed7
Send RST packets when appropriate
2025-03-10 18:08:08 +08:00
jiangjianfeng
388eec449a
Add ip level socket option
2025-03-07 13:38:02 +08:00
js2xxx
c1dde01fc3
Add `sched_attr` system call series
2025-03-06 21:29:40 +08:00
Ruihan Li
d37e60d082
Report socket errors in `send`/`recv`
2025-03-05 19:48:28 +08:00
Ruihan Li
68cf99993e
Remove socket errors from `SocketOptionSet`
2025-03-05 19:48:28 +08:00
Fabing Li
76e9694dd0
Enhance the robustness of search pattern
2025-03-05 19:47:19 +08:00
Chen Chengjun
65f9363d7c
Add a test for reaper functionality
2025-03-03 19:31:50 +08:00
wheatfox
6d42a07e95
Implement `getcpu` syscall and add corresponding test application
2025-02-27 11:41:26 +08:00
Fabing Li
6684e7fd02
Convert benchmark configuration files into YAML format
2025-02-26 13:16:49 +08:00
jiangjianfeng
bf96f673dc
Unify network benchmark chart title
2025-02-14 19:45:41 +08:00
Ruihan Li
c9e8666267
Clarify titles for TCP connect latency
2025-02-12 20:00:11 +08:00
Ruihan Li
519445078b
Remove `tcp_loopback_connect_lat` from summary
2025-02-12 20:00:11 +08:00
jiangjianfeng
3f951e0c0c
Enable gVisor tcp_socket_test
2025-02-11 10:50:20 +08:00
Fabing Li
185b27b01c
Unify benchmark job name conventions
2025-02-08 15:29:15 +08:00
Ruize Tang
c4229e3c2f
Add INITRAMFS_SKIP_GZIP option to make initramfs encoding/decoding faster
2025-01-23 10:50:43 +08:00
jiangjianfeng
0c8200dc7b
Add nginx benchmark and workaround
2025-01-01 10:43:14 +08:00
jiangjianfeng
6e691d5838
Fix several typos in benchmarks
2024-12-31 13:19:30 +08:00
jiangjianfeng
39cc0dca26
Add socket hash table
2024-12-30 09:46:14 +08:00
Cautreoxit
cbf7a85451
Add Memcached into benchmark
...
Co-authered-by: Zhang Junyang <junyang@stu.pku.edu.cn>
2024-12-27 16:41:18 +08:00
anbo225
e75b6320ad
Add support for group-based permission checking in ext2
2024-12-26 17:07:55 +08:00
Fabing Li
87da1a0787
Enhance the search pattern
2024-12-26 14:52:56 +08:00
jiangjianfeng
3dbdef4d6c
Add several lmbench network benchmark
2024-12-26 09:08:21 +08:00
Fabing Li
8a27f7a3b5
Clarify the naming conventions under benchmark/schbench/
2024-12-24 15:25:55 +08:00
Zejun Zhao
781cb179ff
Add scheduler benchmarks to benchmark CI
2024-12-20 09:46:23 +08:00
Zejun Zhao
7cf8df4c3c
Make nth_occurrence configurable in benchmark CI
2024-12-20 09:46:23 +08:00
Zejun Zhao
e4beb6e0a7
Make SMP configurable in benchmark CI
2024-12-20 09:46:23 +08:00
Yuke Peng
acc10376e6
Update benchmark README
2024-12-18 14:53:25 +08:00
Yuke Peng
efac408524
Update FIO benchmark CI
2024-12-18 14:53:25 +08:00
Yuke Peng
0397e7281e
Enable IOMMU scheme by default in CI
2024-12-18 14:53:25 +08:00
jiangjianfeng
72cb160539
Add keepidle tcp option
2024-12-18 13:19:34 +08:00
Shaowei Song
547c92d2ff
Add a simple test for POSIX shared memory
2024-12-18 12:26:33 +08:00
Fabing Li
a739848464
Block ProcCpuinfo cases temporarily
2024-12-17 20:14:13 +08:00
Fabing Li
24f1e02b26
Support prctl(PR_SET_KEEPCAPS/PR_GET_KEEPCAPS)
2024-12-17 20:14:13 +08:00
Fabing Li
e67ed9434b
Enhance search pattern with regex
2024-12-17 20:07:26 +08:00
Ruihan Li
1ab63c7bcb
Add regression tests for `exit()`
2024-12-17 19:36:38 +08:00
Zejun Zhao
868b742b31
Add syscall test involving syscall restart
2024-12-16 21:12:08 +08:00
Fabing Li
a0f9f34baf
Remove redundant "sqlite/" prefix
2024-12-16 14:57:21 +08:00
Yuke Peng
2a02e84462
Add SQLite ramfs benchmarks
2024-12-16 13:23:30 +08:00
Yuke Peng
859b3f9618
Remove "sqlite/" prefix in summary.json
2024-12-16 13:23:30 +08:00
Fabing Li
cd22854f59
Add proc_test for procfs
2024-12-15 16:52:24 +08:00
jiangjianfeng
8b07a68e9e
Add regression test for keepalive and tcp nodelay
2024-12-15 16:50:43 +08:00
jiangjianfeng
74a59206d7
Refactor sockoption.c with test framework
2024-12-15 16:50:43 +08:00
Roman Korostinskiy
13229cc037
Implement totalram and freeram computation for sysinfo
2024-12-15 16:37:40 +08:00
Roman Korostinskiy
4f653acfa3
Implementation of uptime for sysinfo
2024-12-15 16:37:40 +08:00
Zejun Zhao
68ea0cebf9
Fix result extraction of lmbench/tcp_virtio_lat
2024-12-15 09:45:23 +08:00
Zejun Zhao
1c5666cfa3
Make sysbench configuration compatible with new benchmark framework
2024-12-15 09:45:23 +08:00
Fabing Li
20ee05e8e0
Fix result extraction
2024-12-12 20:43:47 +08:00
Fabing Li
4316247d82
Add ext2 benchmarks of sqlite
2024-12-11 23:04:49 +08:00
Fabing Li
946e4d5529
Add interface to generate one more results with one benchmark job
2024-12-11 23:04:49 +08:00
Fabing Li
5d1c16896a
Reorganize benchmark structure
2024-12-11 23:04:49 +08:00
Ruize Tang
065a3bd1c3
Avoid inline comments in variable assignments in Makefile
2024-12-11 19:37:45 +08:00
Yuke Peng
c0e572becd
Add `ramfs_copy_files_bw` benchmark
2024-12-11 17:12:33 +08:00
Yuke Peng
2b767c774d
Make `ext2_copy_files_bw` script consistent with description
2024-12-11 17:12:33 +08:00
Ruihan Li
fbe7734a5c
Fix CI failures in network tests
2024-12-11 16:47:13 +08:00
Ruize Tang
6c4f56723c
Fix futex lost wakeup
2024-11-27 10:27:22 +08:00
Ruize Tang
05ff441577
Clear `DF` flag during signal handling to conform to x86-64 calling convention
2024-11-26 10:50:58 +08:00
Jianfeng Jiang
c8c9b9753e
Make all network benchmark run with tap backend and vhost on
2024-11-20 20:24:03 +08:00
jiangjianfeng
03aee4a7d7
Include tcp_loopback_bw_4k in summary
2024-11-20 18:27:36 +08:00
Shaowei Song
b88675c4e9
Stabilize the benchmark results of FIO
2024-11-20 16:22:20 +08:00
jiangjianfeng
56727aa5ee
Add bw_tcp_virtio benchmark
2024-11-12 17:47:40 +08:00
Shaowei Song
c7404f8139
Add several FIO tests to the benchmark CI
2024-11-09 10:38:50 +08:00
Shaowei Song
31ebcbf264
Support specifying `SCHEME` in the benchmark
2024-11-09 10:38:50 +08:00
Shaowei Song
012dacab93
Ensure only numeric values are extracted from the benchmark results
2024-11-09 10:38:50 +08:00
Fabing Li
3ad1ea4d66
Fix the title of ext2 and ramfs benchmark
2024-11-08 11:24:15 +08:00
Ruihan Li
827c15aa03
Add self-connecting regression tests
2024-11-08 10:49:02 +08:00
Ruihan Li
19b13d88e2
Fix `clone_exit_signal` test
2024-11-06 21:53:55 +08:00
Fabing Li
1fe74c9c92
Add sys_getrlimit and sys_setrlimit
2024-11-06 21:53:31 +08:00
Fabing Li
7a08d9a660
Support other SigStackFlags
2024-11-06 15:00:01 +08:00
Shaowei Song
16a319a8ea
Adjust and align the qemu arguments of `virtio-blk-pci`
2024-11-06 11:00:43 +08:00
Fabing Li
3461bd5de6
Add more boundary checks for epoll_wait
2024-10-30 10:42:16 +08:00
Jianfeng Jiang
00ffc5266d
Add tcp poll test program
2024-10-28 22:47:50 +08:00
Yuke Peng
f8bd71a1e7
Add Nginx benchmark CI
2024-10-28 18:57:41 +08:00
Yuke Peng
88939f2a4c
Add Redis benchmark CI
2024-10-28 18:57:41 +08:00
Ruihan Li
b5610f3034
Report `POLLNVAL` in `poll` for invalid FDs
2024-10-28 14:33:32 +08:00
Jianfeng Jiang
7c3e3738a1
Enable tap mode network and vhost
2024-10-26 22:07:38 +08:00
Zhang Junyang
c38455f9f6
Add tests for system call `sched_get/set_affinity`
2024-10-26 22:06:41 +08:00
Wang Taojie
418fb10d6e
Supplement ioctl() gVisor test
2024-10-21 09:43:43 +08:00
Fabing Li
09204600c0
Change visibility of benchmarks
2024-10-17 15:02:52 +08:00
jiangjianfeng
a566e25803
Set tcp benchmarks' backlog as 1
2024-10-17 14:52:58 +08:00
jiangjianfeng
090149eed7
Add tcp latency test over virtio-net
2024-10-14 20:59:25 +08:00
Fabing Li
6e7b12c3c4
Extract the status of guest VM from its log
2024-10-09 19:35:03 +08:00
Fabing Li
ab7c4f3740
Update the benchmark linux kernel
2024-10-08 17:53:47 +08:00
Fabing Li
5402f1fbf7
Wait for the QEMU process to exit
2024-10-08 17:52:20 +08:00
Fabing Li
4f060b338c
Remove unused guest_guest choice
2024-10-08 17:52:20 +08:00
Fabing Li
46b34aa648
Rename tcp_loopback_bw to tcp_loopback_bw_4k
2024-10-08 16:42:37 +08:00
Yuke Peng
61f6c637d2
Add Nginx benchmark CI
2024-10-01 14:18:02 +08:00
Yuke Peng
0620ec58e4
Extract host-guest benchmark CI script
2024-10-01 14:18:02 +08:00
Yuke Peng
5564adee74
Forward 8080 when benchmarking Linux
2024-10-01 14:18:02 +08:00
Ruihan Li
17ea6e91b0
Benchmark TCP localhost with 64K messages
2024-09-30 20:37:57 +08:00
Shaowei Song
c4cb0f1aef
Quiet Linux boot logs to avoid mixing with result logs
2024-09-27 18:53:26 +08:00
Carlos López
0a36760f7a
Respect user-defined exit signal in clone() and clone3()
...
When calling clone() and clone3(), the user is allowed to specify a
signal to be sent to the parent process on exit. Respect this value by
storing it in the Process struct and sending the signal on exit.
Add a test as well to verify that the signal is properly delivered to
the parent.
2024-09-26 20:07:43 +08:00
Yuke Peng
3929ea8c86
Stabilize some benchmark results
2024-09-26 15:33:16 +08:00
Shaowei Song
f2af6136da
Minor optimizations on both `lat-syscall-stat` and `lat-syscall-open`
2024-09-26 15:25:49 +08:00
Fabing Li
9abdebbae3
Add iperf3 benchmark
2024-09-26 10:03:32 +08:00
负雪
a7cb71161d
Use summary.json to controll the overview charts of benchmarks
2024-09-25 14:05:49 +08:00
Ruihan Li
179705a3fc
Fix RamFS readahead
2024-09-24 20:34:19 +08:00
Yuke Peng
a997d9f0b0
Enable some gVisor futex tests
2024-09-22 16:00:56 +08:00
负雪
b9808136a4
Block failed futex and fcntl tests
2024-09-21 15:18:56 +08:00
负雪
9acc02a288
Hide Semaphores on the overview temporarily
2024-09-20 12:57:05 +08:00
Jianfeng Jiang
c5009e38f1
Add pipe/short_rw test
...
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2024-09-20 10:37:20 +08:00
Jianfeng Jiang
ea8327af0f
Add regression test for sendmsg/recvmsg
2024-09-20 10:37:20 +08:00
Jianfeng Jiang
70505ff4f8
Support futex wait timeout
2024-09-19 22:42:13 +08:00
Shaowei Song
ceb6e2b242
Add lmbench-fs on ext2 in benchmark ci
2024-09-14 17:30:46 +08:00
Shaowei Song
cfd23336e5
Make the benchmark comparison with Linux on ext2 fairer
2024-09-14 17:27:55 +08:00
Yuke Peng
66f2dacaf8
Add configuration file for Redis and Nginx
2024-09-14 13:22:50 +08:00
Yuke Peng
43b6926c11
Add applications to initramfs
2024-09-14 13:22:50 +08:00
Ruihan Li
320092eda2
Implement blocking `connect` properly
2024-09-13 22:09:46 +08:00
Ruihan Li
6f915133b5
Fix error codes in `bind`
2024-09-13 22:09:46 +08:00
Ruihan Li
a345e11b96
Fix error codes in `send`, `recv`, `accept`
2024-09-13 22:09:46 +08:00
Ruihan Li
a8592a16ea
Fix I/O events related to shutdown
2024-09-13 22:09:46 +08:00
Ruihan Li
421f6b8e5b
Fix I/O events cross different states
2024-09-13 22:09:46 +08:00
Ruihan Li
f831f5685f
Fix I/O events for UNIX connected sockets
2024-09-13 22:09:46 +08:00
Fabing Li
32bfa76703
Reorganize the structure of benchmarks
2024-09-13 21:03:25 +08:00
Ruihan Li
7a13c0dff6
Fix behavior related to EPOLLONESHOT
2024-09-13 21:02:06 +08:00
Ruihan Li
6151d65cf5
Fix poll behavior
2024-09-13 21:02:06 +08:00
Ruihan Li
479d98c8b9
Use `(fd, file)` as the key
2024-09-13 21:02:06 +08:00
Shaowei Song
8b1c69987f
Make the benchmarks on ext2 more fair
2024-09-13 16:25:25 +08:00
Chen Chengjun
6645220810
Adjust the test parameters in lmbench mmap/pagefault tests
2024-09-12 21:09:16 +08:00
Yuke Peng
f94d2e55f7
Disable SemOpMultiNoBlock
2024-09-02 17:12:04 +08:00
Jianfeng Jiang
9a2faff07b
Enable lto in running benchmark
2024-09-02 17:09:48 +08:00
Yuke Peng
eff41b6e97
Enable loopback network device in Linux
2024-08-29 20:21:10 +08:00
Yuke Peng
83d42d0783
Add lmbench localhost UDP latency test
2024-08-29 20:21:10 +08:00
Yuke Peng
a84ed69f5f
Add lmbench localhost TCP latency test
2024-08-29 20:21:10 +08:00
Yuke Peng
34352dc0d9
Add lmbench TCP connect latency test
2024-08-29 20:21:10 +08:00
Yuke Peng
316e4bf2c6
Add lmbench localhost TCP bandwidth test
2024-08-29 20:21:10 +08:00
Yuke Peng
9fec6ce95a
Add lmbench HTTP latency test
2024-08-29 20:21:10 +08:00
Yuke Peng
936da1d6df
Add lmbench select TCP test
2024-08-29 20:21:10 +08:00
Fabing Li
6ce25dc38b
Fix lock releasing of fcntl
2024-08-29 17:06:01 +08:00
Ruihan Li
21a1041d27
Clean up files generated by UNIX regression tests
2024-08-28 19:54:36 +08:00
Ruihan Li
65aa156e92
Implement UNIX abstract address namespace
2024-08-28 19:54:36 +08:00
Jianfeng Jiang
a72c7dadf3
Optimize the latency of lmbench-signal-prot
2024-08-28 14:27:41 +08:00
Yuke Peng
7b58d97aa2
Add regression test for `SO_REUSEADDR`
2024-08-28 14:01:18 +08:00
Yuke Peng
d179fa8788
Enables F_SETOWN gVisor test
2024-08-27 22:14:40 +08:00
Zhang Junyang
d313674a2b
Add SMP tests with a general test blocklist
2024-08-27 17:22:47 +08:00
Chen Chengjun
d499c1592d
Add ldconfig to initramfs
2024-08-27 17:21:28 +08:00
Cautreoxit
86f09eef75
Fix all spelling mistakes in history by typos tool
2024-08-27 12:19:48 +08:00