Commit Graph

1444 Commits

Author SHA1 Message Date
Shaowei Song ceb6e2b242 Add lmbench-fs on ext2 in benchmark ci 2024-09-14 17:30:46 +08:00
Zhang Junyang 195fe855a1 Mark all surrounding pages accessed on page fault 2024-09-14 17:29:39 +08:00
Zhang Junyang addf42c3f8 No need to flush TLB on mapping without overwritting 2024-09-14 17:29:39 +08:00
Zhang Junyang 5df3c9b749 Avoid flushing TLB one by one when the un-mapped range is large 2024-09-14 17:29:39 +08:00
Shaowei Song cfd23336e5 Make the benchmark comparison with Linux on ext2 fairer 2024-09-14 17:27:55 +08:00
Chen Chengjun 42e28763c5 Replace the Pausers' usage with Waiter/WaitQueue 2024-09-14 13:59:07 +08:00
Chen Chengjun 822caf34f4 Move Pauser's functionality to Waiter/WaiterQueue and add the per-thread signalled waker 2024-09-14 13:59:07 +08:00
Chen Chengjun 1873bb7a3f Add wait_until_* functionality to Waiter 2024-09-14 13:59:07 +08:00
Chen Chengjun 6a5a5b4d3d Add a fast path to has_pending 2024-09-14 13:59:07 +08:00
Yuke Peng 66f2dacaf8 Add configuration file for Redis and Nginx 2024-09-14 13:22:50 +08:00
Yuke Peng 3240965f0a Rename RAND_PORT_NUM 2024-09-14 13:22:50 +08:00
Yuke Peng 778779fa0d Forward 6379 for Redis 2024-09-14 13:22:50 +08:00
Yuke Peng 43b6926c11 Add applications to initramfs 2024-09-14 13:22:50 +08:00
Yuke Peng 32ea24e945 Bump version to 0.8.2 2024-09-13 23:43:22 +08:00
Yuke Peng 6bebec0e7b Add applications to dockerfile 2024-09-13 23:43:22 +08:00
Marsman1996 fc895c5697 Fix panic in `mmap` by invalid `perms` 2024-09-13 23:42:37 +08:00
Marsman1996 8421046dba Return when sigset size error 2024-09-13 22:12: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
Shaowei Song 7ddb69f4db Make special devices go to the `FileIo` fast path 2024-09-13 22:09:06 +08:00
Ruihan Li 1b9b76d27c Make use of new `SpinLock` APIs 2024-09-13 21:31:20 +08:00
Ruihan Li 67d3682116 Move smoltcp-related code to bigtcp 2024-09-13 21:31:20 +08:00
Ruihan Li 9fba9445bd Introduce `IpIface` and `EtherIface` 2024-09-13 21:31:20 +08:00
Ruihan Li dd2cde3aee Introduce `IfaceExt` 2024-09-13 21:31:20 +08:00
Ruihan Li 538065b42f Remove unused methods and revise documentations 2024-09-13 21:31:20 +08:00
Fabing LI 8632da04b5 Update Dockerfile to cache linux binaries 2024-09-13 21:03:25 +08:00
Fabing Li cfd1abd86f Modify benchmark workflow 2024-09-13 21:03:25 +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 0a053404b9 Adjust error messages 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
Ruihan Li d70ae181b5 Avoid nested loops 2024-09-13 21:02:06 +08:00
Ruihan Li 25daab7e78 Avoid duplicate code 2024-09-13 21:02:06 +08:00
Ruihan Li fa52eeb88f Remove unnecessary `is_deleted` 2024-09-13 21:02:06 +08:00
Zhang Junyang bec2c97637 Don't copy on write if this is the only reference 2024-09-13 20:10:03 +08:00
Zhang Junyang f13e5d12c1 Set right A/D bits at the right place 2024-09-13 20:10:03 +08:00
Zhang Junyang 4e9460593d Check for the mapping status before handling the page fault 2024-09-13 20:10:03 +08:00
Zhang Junyang d9eccdcfbe Implement remote TLB flush on `VmSpace` 2024-09-13 20:10:03 +08:00
Zhang Junyang 326ec09169 Initialize local APICs on every processors 2024-09-13 20:10:03 +08:00
Zhang Junyang 425027677b Add the inter-processor-call facilities 2024-09-13 20:10:03 +08:00
Yuke Peng 63364813a8 Change idle task to lowest priority 2024-09-13 19:52:00 +08:00
Shaowei Song 1186fb7ca9 Use `SpinLock` on `FileTable` for efficiency 2024-09-13 19:48:26 +08:00
Shaowei Song 4a43e317b2 Use `SpinLock` on `Subject` 2024-09-13 19:48:26 +08:00
Shaowei Song 8b1c69987f Make the benchmarks on ext2 more fair 2024-09-13 16:25:25 +08:00
Marsman1996 6fcad6ce14 Fix integer overflow in handle_page_faults_around 2024-09-12 21:24:42 +08:00