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 |
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 |