Commit Graph

1415 Commits

Author SHA1 Message Date
8632da04b5 Update Dockerfile to cache linux binaries 2024-09-13 21:03:25 +08:00
cfd1abd86f Modify benchmark workflow 2024-09-13 21:03:25 +08:00
32bfa76703 Reorganize the structure of benchmarks 2024-09-13 21:03:25 +08:00
7a13c0dff6 Fix behavior related to EPOLLONESHOT 2024-09-13 21:02:06 +08:00
0a053404b9 Adjust error messages 2024-09-13 21:02:06 +08:00
6151d65cf5 Fix poll behavior 2024-09-13 21:02:06 +08:00
479d98c8b9 Use (fd, file) as the key 2024-09-13 21:02:06 +08:00
d70ae181b5 Avoid nested loops 2024-09-13 21:02:06 +08:00
25daab7e78 Avoid duplicate code 2024-09-13 21:02:06 +08:00
fa52eeb88f Remove unnecessary is_deleted 2024-09-13 21:02:06 +08:00
bec2c97637 Don't copy on write if this is the only reference 2024-09-13 20:10:03 +08:00
f13e5d12c1 Set right A/D bits at the right place 2024-09-13 20:10:03 +08:00
4e9460593d Check for the mapping status before handling the page fault 2024-09-13 20:10:03 +08:00
d9eccdcfbe Implement remote TLB flush on VmSpace 2024-09-13 20:10:03 +08:00
326ec09169 Initialize local APICs on every processors 2024-09-13 20:10:03 +08:00
425027677b Add the inter-processor-call facilities 2024-09-13 20:10:03 +08:00
63364813a8 Change idle task to lowest priority 2024-09-13 19:52:00 +08:00
1186fb7ca9 Use SpinLock on FileTable for efficiency 2024-09-13 19:48:26 +08:00
4a43e317b2 Use SpinLock on Subject 2024-09-13 19:48:26 +08:00
8b1c69987f Make the benchmarks on ext2 more fair 2024-09-13 16:25:25 +08:00
6fcad6ce14 Fix integer overflow in handle_page_faults_around 2024-09-12 21:24:42 +08:00
b88c490ff7 Fix incorrect return value for semctl GETZCNT/GETNCNT 2024-09-12 21:09:57 +08:00
6645220810 Adjust the test parameters in lmbench mmap/pagefault tests 2024-09-12 21:09:16 +08:00
1fb34780f6 Eliminate an additional current!() operation in user space pagefault handling 2024-09-12 21:09:16 +08:00
53ce7df53c Warn instead of panic on long clock update interval 2024-09-12 17:53:14 +08:00
787604b7f6 Use ParentProcess to cache parent pid 2024-09-12 17:41:56 +08:00
f01772ca85 Fix panic in Cursor::new by invalid Vaddr range 2024-09-12 08:14:01 +08:00
8bfbdf6642 Optimize the lock usage in RamInode's read/write 2024-09-11 12:59:31 +08:00
4fb4cb4c4a Remove the Makefile dependency of run on phony build 2024-09-11 12:45:17 +08:00
42f3411337 Fix index out of bound when key of semget too large 2024-09-11 12:43:49 +08:00
c68302f700 Don't hold any locks while waiting in EpollFile 2024-09-07 06:47:12 +08:00
64e43d34aa doc: fix typo in README.md 2024-09-06 14:26:31 +08:00
458a6a5b3b Fix unexpected unlock of mutexes, add a testcase 2024-09-04 22:23:46 +09:00
9638744712 Unseekable files need not to manipulate the offset 2024-09-02 18:42:35 +08:00
92680ea25d Improve safe comment 2024-09-02 17:13:49 +08:00
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
f94d2e55f7 Disable SemOpMultiNoBlock 2024-09-02 17:12:04 +08:00
6ce50fab1c Refactor semaphore to support atomic semop 2024-09-02 17:12:04 +08:00
9a2faff07b Enable lto in running benchmark 2024-09-02 17:09:48 +08:00
dcc9600cb4 Do not modify timestamps on device read/write 2024-09-02 17:09:16 +08:00
745ac6d982 Set overflow boundary to isize::MAX for memory related syscalls 2024-09-01 15:40:46 +08:00
9589b332aa Add more overflow checks in mmap 2024-09-01 15:40:46 +08:00
e184094648 Fix integer overflow caused by page align 2024-09-01 15:40:46 +08:00
0a8ad6971a Fix integer overflow caused by large addr + size in memory related syscall 2024-09-01 15:40:46 +08:00
e6e771e9b5 Better timestamp in logging 2024-08-31 10:51:22 +08:00
db16caf28c [Semaphore] Replace Mutex with SpinLock 2024-08-30 22:52:24 +08:00
b17e3e24d8 [Semaphore] Avoid using CurrentUserSpace::get 2024-08-30 22:52:24 +08:00
d88d8fd307 [Semaphore] Remove duplicate PID and time settings 2024-08-30 22:52:24 +08:00
3297976700 [Semaphore] Optimize the update_pending_ops 2024-08-30 22:52:24 +08:00
a8970daec2 [Semaphore] Remove Box in pending_ops 2024-08-30 22:52:24 +08:00