Commit Graph

546 Commits

Author SHA1 Message Date
130a0f7030 Homogenize arguments for clone() and clone3()
The arguments for both syscalls follow different formats. Rewrite the
CloneArgs struct to homogenize both formats into one.
2024-09-26 20:07:43 +08:00
fad39fdf7a Make TLB flush policy relaxed 2024-09-26 19:29:59 +08:00
52f1787d35 Remove syncronizations for the VmSpace PF handler 2024-09-26 19:29:59 +08:00
7407cc8091 Remove some repetitive locks forking Vmar 2024-09-26 19:29:59 +08:00
ac6d9256ef Improve the VmSpace forking API 2024-09-26 19:29:59 +08:00
d4036d1e9d Handle error in FsResolver::create_new_file() 2024-09-26 17:45:00 +08:00
f2af6136da Minor optimizations on both lat-syscall-stat and lat-syscall-open 2024-09-26 15:25:49 +08:00
fc77c474db Move and group methods 2024-09-26 15:22:16 +08:00
3fc396f5f1 Adjust the ephemeral port 2024-09-26 15:22:16 +08:00
eb3a033496 Refine some lock usages 2024-09-26 15:22:16 +08:00
b13a82dc61 Bump smoltcp version 2024-09-26 15:22:16 +08:00
51334c4a36 Clean up smoltcp dependencies 2024-09-26 15:22:16 +08:00
d62bb1ca76 Use static IP addresses 2024-09-26 15:22:16 +08:00
fb718fd440 Optimize the latency of lat-sig-install 2024-09-25 17:29:20 +08:00
21fedd1b60 Implement atomic wrapper for integer-like type 2024-09-25 14:47:37 +08:00
ae4ac38471 Optimize the cache and lock parts in MountNode 2024-09-25 11:22:24 +08:00
791c566b71 Optimize the cache and lock parts in Dentry 2024-09-25 11:22:24 +08:00
2c6dd074d1 Refactor the path lookup in FsResolver 2024-09-25 11:22:24 +08:00
1aa8b0abc6 Correct lock usages in UNIX sockets 2024-09-24 20:49:48 +08:00
cbe85a1878 Add check for negative timeval_t.sec in do_futimesat 2024-09-24 20:36:29 +08:00
179705a3fc Fix RamFS readahead 2024-09-24 20:34:19 +08:00
4d36dd541f Extract x86-specific exception handling in aster-nix 2024-09-23 19:39:45 +08:00
46708f84bc Implement futex private flag 2024-09-22 16:00:56 +08:00
228cfe2262 Preallocate some space when expanding size in ext2 2024-09-21 20:22:39 +08:00
550eafcb79 Preallocate some space when expanding size in ramfs 2024-09-21 20:22:39 +08:00
9a79ecbcbe Clean up the frame buffer state in ostd::mm 2024-09-21 15:38:15 +08:00
2a6733579d Refactor architecture-specific page fault handling 2024-09-20 10:56:13 +08:00
c5009e38f1 Add pipe/short_rw test
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2024-09-20 10:37:20 +08:00
985813c7f9 Use IoVec-based reader/writer to refactor network APIs 2024-09-20 10:37:20 +08:00
b4003b8aeb Add normalize for timeval_t and const value for time 2024-09-20 10:35:03 +08:00
4fa4e5ef2a Add check during the conversion from timeval_t to Duration 2024-09-20 10:35:03 +08:00
70505ff4f8 Support futex wait timeout 2024-09-19 22:42:13 +08:00
c2f7a10b84 Implement cpu_local with GS and ensure GS points to TSS 2024-09-19 13:00:36 +08:00
f159b42b61 Fix the condition in is_last_thread 2024-09-18 16:59:17 +08:00
2bda8d17c4 Rename some misleading method names 2024-09-17 17:46:56 +08:00
cefeea7b50 Revise IoMem::resize into IoMem::slice 2024-09-17 17:46:56 +08:00
c8ba695c85 Implement VmIoOnce for IoMem 2024-09-17 17:46:56 +08:00
aa62f0a4e6 Make field_ptr! accept VmIoOnce 2024-09-17 17:46:56 +08:00
22b04ceae4 Optimize the DirEntry of RamInode 2024-09-16 15:59:59 +08:00
f194514100 Optimize the page cache within a RamInode 2024-09-16 15:59:59 +08:00
44629e4627 Fix panic in FutexKey::load_val when no read access 2024-09-14 22:45:59 +08:00
f3174dbbbc Make task store Arc<Thread> and process store Arc<Task> 2024-09-14 17:34:14 +08:00
81b0f265b5 Move Tid from Thread to PosixThread 2024-09-14 17:34:14 +08:00
195fe855a1 Mark all surrounding pages accessed on page fault 2024-09-14 17:29:39 +08:00
42e28763c5 Replace the Pausers' usage with Waiter/WaitQueue 2024-09-14 13:59:07 +08:00
822caf34f4 Move Pauser's functionality to Waiter/WaiterQueue and add the per-thread signalled waker 2024-09-14 13:59:07 +08:00
1873bb7a3f Add wait_until_* functionality to Waiter 2024-09-14 13:59:07 +08:00
6a5a5b4d3d Add a fast path to has_pending 2024-09-14 13:59:07 +08:00
fc895c5697 Fix panic in mmap by invalid perms 2024-09-13 23:42:37 +08:00
8421046dba Return when sigset size error 2024-09-13 22:12:50 +08:00