444 Commits

Author SHA1 Message Date
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
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
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
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
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
Shaowei Song
8bfbdf6642 Optimize the lock usage in RamInode's read/write 2024-09-11 12:59:31 +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
Shaowei Song
9638744712 Unseekable files need not to manipulate the offset 2024-09-02 18:42:35 +08:00
Yuke Peng
6ce50fab1c Refactor semaphore to support atomic semop 2024-09-02 17:12:04 +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
Yuke Peng
db16caf28c [Semaphore] Replace Mutex with SpinLock 2024-08-30 22:52:24 +08:00
Yuke Peng
b17e3e24d8 [Semaphore] Avoid using CurrentUserSpace::get 2024-08-30 22:52:24 +08:00
Yuke Peng
d88d8fd307 [Semaphore] Remove duplicate PID and time settings 2024-08-30 22:52:24 +08:00
Yuke Peng
3297976700 [Semaphore] Optimize the update_pending_ops 2024-08-30 22:52:24 +08:00
Yuke Peng
a8970daec2 [Semaphore] Remove Box in pending_ops 2024-08-30 22:52:24 +08:00
Fabing Li
6ce25dc38b Fix lock releasing of fcntl 2024-08-29 17:06:01 +08:00
Fabing Li
be8cc24544 Fix infinite waiting of range locks 2024-08-29 17:06:01 +08:00
Shaowei Song
5bc696a85a Make the allocated segment uninitialized in the ring buffer 2024-08-29 12:30:04 +08:00
Shaowei Song
e6f465b553 Replace all the ring buffers with the new one 2024-08-29 00:33:47 +08:00
Shaowei Song
923b3704d7 Add a new ring buffer backed by a Segment 2024-08-29 00:33:47 +08:00
jellllly420
59b7a9397f Fix deadlock while acquiring lock on local runqueue 2024-08-29 00:32:12 +08:00