Commit Graph

412 Commits

Author SHA1 Message Date
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
Chen Chengjun 9e59db2f42 Make benchmark CI more fair 2024-08-26 20:27:13 +08:00
Yuke Peng 090b5a1c1d Dsiable mitigations for CPU vulnerabilities in Linux 2024-08-25 20:12:14 +08:00
Yuke Peng c2a8342752 Add lmbench fifo latency test 2024-08-23 19:56:36 +08:00
Yuke Peng 30726ad880 Add lmbench unix connect latency test 2024-08-23 19:55:25 +08:00
Yuke Peng a039b58f8b Correct lmdd result_index 2024-08-23 11:44:24 +08:00
Yuke Peng 837c7bebb6 Add lmbench lmdd test 2024-08-22 12:51:42 +08:00
Ruihan Li 47857fc10f Fix remote addresses in connected UNIX sockets 2024-08-18 23:57:56 +08:00
Ruihan Li a3d4748d6b Fix behavior in UNIX socket `listen()` 2024-08-18 23:57:56 +08:00
Yuke Peng dee0956921 Add lmbench file locking latency test 2024-08-18 23:20:57 +08:00
Yuke Peng 8ce86e4d98 Add lmbench signal protection test 2024-08-18 23:20:57 +08:00
Yuke Peng 21255655c0 Add lmbench mmap latency test 2024-08-18 23:20:57 +08:00
Yuke Peng 9e2956b4a3 Add lmbench mmap bandwidth test 2024-08-18 23:20:57 +08:00
Fabing Li 36a2f40d07 Enhance the stability of lmbench-mem 2024-08-18 21:10:33 +08:00
Yuke Peng 0160a85ccd Add semaphore gvisor test 2024-08-18 16:37:39 +08:00
Yuke Peng 6430ef1841 Add LMbench lat_sem test 2024-08-18 16:37:39 +08:00
Fabing Li ce2af1eb05 Add flock and sys_flock 2024-08-17 18:18:23 +08:00
Fabing Li cbd8879243 Add range lock and sys_fcntl 2024-08-17 18:18:23 +08:00
Chen Chengjun 803f059493 Add page fault lmbench 2024-08-17 18:07:09 +08:00
Chen Chengjun 40c2acf29d Add shared filebacked mmap test 2024-08-16 10:45:16 +08:00
Shaowei Song 720b952996 Add lmbench fs tests 2024-08-15 23:07:33 +08:00
Ruihan Li f499f54cf5 Record the original bound name 2024-08-13 19:32:22 +08:00
Ruihan Li 6b50d28ba1 Remove unnecessary self-connecting check 2024-08-13 19:32:22 +08:00
Ruihan Li 5445a26ec5 Fix results of getting UNIX names 2024-08-13 19:32:22 +08:00
Fabing Li f9bae1eee9 Fix lmbench-ctx extraction 2024-08-12 22:37:29 +08:00
Jianfeng Jiang dc124351d2 Add gvisor pselect test 2024-08-09 15:46:05 +08:00
Shaowei Song 8dce83605f Add sys_fallocate 2024-08-08 21:10:38 +08:00
Fabing Li d04111079c Fix the lmbench-exec/shell error when /tmp exists 2024-08-08 16:28:45 +08:00
Shaowei Song 0e8c5e7f5f Correct the Linux's behavior of lmbench-file-rd 2024-08-08 15:16:05 +08:00
Ruihan Li 4deba9baca Rewrite the whole `net/addr.rs` file 2024-08-05 10:24:56 +08:00
Yuke Peng df996c04f5 Fix pipe test 2024-08-02 23:03:06 +08:00
Yuke Peng 2aaf08e2dc Add select file test 2024-08-02 23:03:06 +08:00
Yuke Peng fd5fe26fae Add file read bandwidth test 2024-08-02 23:03:06 +08:00
Yuke Peng 488445b9e8 Add signal install test 2024-08-02 23:03:06 +08:00
Yuke Peng 39a66aea67 Add unix bandwidth test 2024-08-02 23:03:06 +08:00
Yuke Peng 60ca395f24 Fix lmbench exec and shell scripts 2024-08-02 18:50:41 +08:00
Fabing Li c43c07c9fb Enhance UI and functionality for benchmark 2024-08-02 15:55:36 +08:00
Shaowei Song 6847181553 Enable lmbench-write&lmbench-read in benchmark ci 2024-07-30 20:57:37 +08:00
Qingsong Chen 077a9ac3ab Add fcntl subcommand F_GETOWN/F_SETOWN 2024-07-29 22:25:24 +08:00
Yuke Peng 45a5498c04 Add LMbench pipe test 2024-07-29 22:16:25 +08:00
Jianfeng Jiang 3981cd63cd Wake up background polling thread when old_instant is 0
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2024-07-29 16:56:29 +08:00
Ruihan Li 328ce9e92c Properly close sockets 2024-07-29 16:56:29 +08:00
Fabing Li b3591131c1 Fix missing syscall tests 2024-07-22 22:02:38 +08:00
Ruihan Li 39cd4420f2 Fix many error codes in pipes 2024-07-18 20:45:16 +08:00
Yuke Peng e22d23429e Add unix latency benchmark 2024-07-18 18:20:28 +08:00
Yuke Peng 02ad3d8cab Add syscall-related benchmarks 2024-07-18 18:20:28 +08:00
Yuke Peng 0021f3014c Add memory-related benchmarks 2024-07-18 18:20:28 +08:00
Yuke Peng 922176641c Add process-related benchmarks 2024-07-18 18:20:28 +08:00
Yuke Peng 77b823edc0 Add comment for VDSO_LIB 2024-07-18 18:10:56 +08:00
Yuke Peng 7dc1dbf824 Add .so files for LMbench-network 2024-07-18 18:10:56 +08:00
YanWQ-monad bffc34c94b Don't check access mode if the file is being created 2024-07-18 17:55:23 +08:00
Yuke Peng c71ff237bc Avoid using root directory 2024-07-09 19:19:58 +08:00
Ruihan Li 378a253dab Disable racy `EpollTest.UnblockWithSignal` 2024-07-09 09:49:42 +08:00
LI Qing c7d2a908e0 Add stat_times_test 2024-07-08 22:31:30 +08:00
Yuke Peng 64c17f3853 Remove home-brewed getpid benchmark 2024-07-08 18:21:08 +08:00
Yuke Peng b12a5d6770 Add lmbench scripts 2024-07-08 18:21:08 +08:00
Shaowei Song 64b1be2472 Add the FIO benchmark 2024-07-08 17:13:16 +08:00
Yuke Peng bb05153352 Add benchmark build scripts to Dockerfile 2024-07-08 15:26:29 +08:00
Fabing Li 990bd846cd Enhance the stability of Asterinas compiling 2024-07-05 20:03:10 +08:00
Zhenchen Wang d8389da797 Add syscall mknod
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-07-03 21:59:25 +08:00
Fabing Li f675552c5a Rename regression to test 2024-06-28 20:33:21 +08:00