423 Commits

Author SHA1 Message Date
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
Ruihan Li
65aa156e92 Implement UNIX abstract address namespace 2024-08-28 19:54:36 +08:00
Shaowei Song
aae9fdb331 Add assembly memset for fast filling zeros 2024-08-28 18:06:04 +08:00
Jianfeng Jiang
a72c7dadf3 Optimize the latency of lmbench-signal-prot 2024-08-28 14:27:41 +08:00
Yuke Peng
434f143e30 Pass can reuse to bind_socket 2024-08-28 14:01:18 +08:00
Yuke Peng
dc4df47007 Implement UDP getsockopt and setsockopt 2024-08-28 14:01:18 +08:00
Chen Chengjun
ffc717f00b Enable handling page fault around 2024-08-28 11:04:03 +08:00
Yuke Peng
a5e6c11d1a Correct FcntlCmd 2024-08-27 22:14:40 +08:00
Zhang Junyang
47be0a909b Schedule tasks to APs in aster-nix 2024-08-27 17:22:47 +08:00
Zhang Junyang
ed82c11dd3 Use a SpinLock for the thread table instead of Mutex 2024-08-27 17:22:47 +08:00
Cautreoxit
86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
Jianfeng Jiang
aa77747f94 Make mprotect&munmap return fast when len is zero 2024-08-26 12:06:31 +08:00
Jianfeng Jiang
212440dbb1 Fix: mmap len cannot be zero 2024-08-26 12:06:31 +08:00
jellllly420
32a1a53ee7 Enable check of atomic mode 2024-08-26 10:23:25 +08:00
Zhang Junyang
54cbacb2ff Replace the CpuLocal's borrow* APIs with get_with 2024-08-25 20:14:06 +08:00
Zhang Junyang
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
Zhang Junyang
9a94ba23aa Replace the Deref implementation of CpuLocal with get_on_cpu 2024-08-25 20:14:06 +08:00
Yuke Peng
3cac1b2a03 Use AtomicU32 to read/write latest modified pid 2024-08-25 20:13:05 +08:00
Yuke Peng
ccdf2dc54f Drop the MutexGuard of semaphore earlier 2024-08-25 20:13:05 +08:00
Yuke Peng
547e6430ee Pass the reference of sem_buf to semop 2024-08-25 20:13:05 +08:00
Yuke Peng
83a4366a72 Remove check_sem in semop 2024-08-25 20:13:05 +08:00
Yuke Peng
4b1f2f720e Avoid using current in semop 2024-08-25 20:13:05 +08:00