Commit Graph

1420 Commits

Author SHA1 Message Date
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
Ruize Tang b88c490ff7 Fix incorrect return value for semctl GETZCNT/GETNCNT 2024-09-12 21:09:57 +08:00
Chen Chengjun 6645220810 Adjust the test parameters in lmbench mmap/pagefault tests 2024-09-12 21:09:16 +08:00
Chen Chengjun 1fb34780f6 Eliminate an additional current!() operation in user space pagefault handling 2024-09-12 21:09:16 +08:00
Zhang Junyang 53ce7df53c Warn instead of panic on long clock update interval 2024-09-12 17:53:14 +08:00
Qingsong Chen 787604b7f6 Use ParentProcess to cache parent pid 2024-09-12 17:41:56 +08:00
Marsman1996 f01772ca85 Fix panic in Cursor::new by invalid Vaddr range 2024-09-12 08:14:01 +08:00
Shaowei Song 8bfbdf6642 Optimize the lock usage in `RamInode`'s read/write 2024-09-11 12:59:31 +08:00
Zhang Junyang 4fb4cb4c4a Remove the `Makefile` dependency of `run` on phony `build` 2024-09-11 12:45:17 +08:00
Marsman1996 42f3411337 Fix index out of bound when `key` of `semget` too large 2024-09-11 12:43:49 +08:00
Zhang Junyang c68302f700 Don't hold any locks while waiting in `EpollFile` 2024-09-07 06:47:12 +08:00
Thomas Dickson 64e43d34aa doc: fix typo in README.md 2024-09-06 14:26:31 +08:00
Ruize Tang 458a6a5b3b Fix unexpected unlock of mutexes, add a testcase 2024-09-04 22:23:46 +09:00
Shaowei Song 9638744712 Unseekable files need not to manipulate the `offset` 2024-09-02 18:42:35 +08:00
rikosellic 92680ea25d Improve safe comment 2024-09-02 17:13:49 +08:00
rikosellic a0ec687315 Page::inc_ref_count conforms to the reference counting invariant
format code

Add detailed annotations

Typo fixed
2024-09-02 17:13:49 +08:00
Yuke Peng f94d2e55f7 Disable SemOpMultiNoBlock 2024-09-02 17:12:04 +08:00
Yuke Peng 6ce50fab1c Refactor semaphore to support atomic semop 2024-09-02 17:12:04 +08:00
Jianfeng Jiang 9a2faff07b Enable lto in running benchmark 2024-09-02 17:09:48 +08:00
Shaowei Song dcc9600cb4 Do not modify timestamps on device read/write 2024-09-02 17:09:16 +08:00
Marsman1996 745ac6d982 Set overflow boundary to `isize::MAX` for memory related syscalls 2024-09-01 15:40:46 +08:00
Marsman1996 9589b332aa Add more overflow checks in `mmap` 2024-09-01 15:40:46 +08:00
Marsman1996 e184094648 Fix integer overflow caused by page align 2024-09-01 15:40:46 +08:00
Marsman1996 0a8ad6971a Fix integer overflow caused by large addr + size in memory related syscall 2024-09-01 15:40:46 +08:00
YanWQ-monad e6e771e9b5 Better timestamp in logging 2024-08-31 10:51:22 +08:00