482 Commits

Author SHA1 Message Date
jellllly420
21fedd1b60 Implement atomic wrapper for integer-like type 2024-09-25 14:47:37 +08:00
Shaowei Song
ae4ac38471 Optimize the cache and lock parts in MountNode 2024-09-25 11:22:24 +08:00
Shaowei Song
791c566b71 Optimize the cache and lock parts in Dentry 2024-09-25 11:22:24 +08:00
Shaowei Song
2c6dd074d1 Refactor the path lookup in FsResolver 2024-09-25 11:22:24 +08:00
Ruihan Li
1aa8b0abc6 Correct lock usages in UNIX sockets 2024-09-24 20:49:48 +08:00
Marsman1996
cbe85a1878 Add check for negative timeval_t.sec in do_futimesat 2024-09-24 20:36:29 +08:00
Ruihan Li
179705a3fc Fix RamFS readahead 2024-09-24 20:34:19 +08:00
YanWQ-monad
4d36dd541f Extract x86-specific exception handling in aster-nix 2024-09-23 19:39:45 +08:00
Yuke Peng
46708f84bc Implement futex private flag 2024-09-22 16:00:56 +08:00
Yuke Peng
228cfe2262 Preallocate some space when expanding size in ext2 2024-09-21 20:22:39 +08:00
Yuke Peng
550eafcb79 Preallocate some space when expanding size in ramfs 2024-09-21 20:22:39 +08:00
Zhang Junyang
9a79ecbcbe Clean up the frame buffer state in ostd::mm 2024-09-21 15:38:15 +08:00
YanWQ-monad
2a6733579d Refactor architecture-specific page fault handling 2024-09-20 10:56:13 +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
985813c7f9 Use IoVec-based reader/writer to refactor network APIs 2024-09-20 10:37:20 +08:00
Marsman1996
b4003b8aeb Add normalize for timeval_t and const value for time 2024-09-20 10:35:03 +08:00
Marsman1996
4fa4e5ef2a Add check during the conversion from timeval_t to Duration 2024-09-20 10:35:03 +08:00
Jianfeng Jiang
70505ff4f8 Support futex wait timeout 2024-09-19 22:42:13 +08:00
Qingsong Chen
c2f7a10b84 Implement cpu_local with GS and ensure GS points to TSS 2024-09-19 13:00:36 +08:00
Jianfeng Jiang
f159b42b61 Fix the condition in is_last_thread 2024-09-18 16:59:17 +08:00
Ruihan Li
2bda8d17c4 Rename some misleading method names 2024-09-17 17:46:56 +08:00
Ruihan Li
cefeea7b50 Revise IoMem::resize into IoMem::slice 2024-09-17 17:46:56 +08:00
Ruihan Li
c8ba695c85 Implement VmIoOnce for IoMem 2024-09-17 17:46:56 +08:00
Ruihan Li
aa62f0a4e6 Make field_ptr! accept VmIoOnce 2024-09-17 17:46:56 +08:00
Shaowei Song
22b04ceae4 Optimize the DirEntry of RamInode 2024-09-16 15:59:59 +08:00
Shaowei Song
f194514100 Optimize the page cache within a RamInode 2024-09-16 15:59:59 +08:00
Marsman1996
44629e4627 Fix panic in FutexKey::load_val when no read access 2024-09-14 22:45:59 +08:00
Jianfeng Jiang
f3174dbbbc Make task store Arc<Thread> and process store Arc<Task> 2024-09-14 17:34:14 +08:00
Jianfeng Jiang
81b0f265b5 Move Tid from Thread to PosixThread 2024-09-14 17:34:14 +08:00
Zhang Junyang
195fe855a1 Mark all surrounding pages accessed on page fault 2024-09-14 17:29:39 +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
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
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