Commit Graph

624 Commits

Author SHA1 Message Date
d9eccdcfbe Implement remote TLB flush on VmSpace 2024-09-13 20:10:03 +08:00
63364813a8 Change idle task to lowest priority 2024-09-13 19:52:00 +08:00
1186fb7ca9 Use SpinLock on FileTable for efficiency 2024-09-13 19:48:26 +08:00
4a43e317b2 Use SpinLock on Subject 2024-09-13 19:48:26 +08:00
6fcad6ce14 Fix integer overflow in handle_page_faults_around 2024-09-12 21:24:42 +08:00
b88c490ff7 Fix incorrect return value for semctl GETZCNT/GETNCNT 2024-09-12 21:09:57 +08:00
1fb34780f6 Eliminate an additional current!() operation in user space pagefault handling 2024-09-12 21:09:16 +08:00
53ce7df53c Warn instead of panic on long clock update interval 2024-09-12 17:53:14 +08:00
787604b7f6 Use ParentProcess to cache parent pid 2024-09-12 17:41:56 +08:00
8bfbdf6642 Optimize the lock usage in RamInode's read/write 2024-09-11 12:59:31 +08:00
42f3411337 Fix index out of bound when key of semget too large 2024-09-11 12:43:49 +08:00
c68302f700 Don't hold any locks while waiting in EpollFile 2024-09-07 06:47:12 +08:00
9638744712 Unseekable files need not to manipulate the offset 2024-09-02 18:42:35 +08:00
6ce50fab1c Refactor semaphore to support atomic semop 2024-09-02 17:12:04 +08:00
dcc9600cb4 Do not modify timestamps on device read/write 2024-09-02 17:09:16 +08:00
745ac6d982 Set overflow boundary to isize::MAX for memory related syscalls 2024-09-01 15:40:46 +08:00
9589b332aa Add more overflow checks in mmap 2024-09-01 15:40:46 +08:00
e184094648 Fix integer overflow caused by page align 2024-09-01 15:40:46 +08:00
0a8ad6971a Fix integer overflow caused by large addr + size in memory related syscall 2024-09-01 15:40:46 +08:00
db16caf28c [Semaphore] Replace Mutex with SpinLock 2024-08-30 22:52:24 +08:00
b17e3e24d8 [Semaphore] Avoid using CurrentUserSpace::get 2024-08-30 22:52:24 +08:00
d88d8fd307 [Semaphore] Remove duplicate PID and time settings 2024-08-30 22:52:24 +08:00
3297976700 [Semaphore] Optimize the update_pending_ops 2024-08-30 22:52:24 +08:00
a8970daec2 [Semaphore] Remove Box in pending_ops 2024-08-30 22:52:24 +08:00
6ce25dc38b Fix lock releasing of fcntl 2024-08-29 17:06:01 +08:00
be8cc24544 Fix infinite waiting of range locks 2024-08-29 17:06:01 +08:00
5bc696a85a Make the allocated segment uninitialized in the ring buffer 2024-08-29 12:30:04 +08:00
e6f465b553 Replace all the ring buffers with the new one 2024-08-29 00:33:47 +08:00
923b3704d7 Add a new ring buffer backed by a Segment 2024-08-29 00:33:47 +08:00
59b7a9397f Fix deadlock while acquiring lock on local runqueue 2024-08-29 00:32:12 +08:00
65aa156e92 Implement UNIX abstract address namespace 2024-08-28 19:54:36 +08:00
aae9fdb331 Add assembly memset for fast filling zeros 2024-08-28 18:06:04 +08:00
a72c7dadf3 Optimize the latency of lmbench-signal-prot 2024-08-28 14:27:41 +08:00
434f143e30 Pass can reuse to bind_socket 2024-08-28 14:01:18 +08:00
dc4df47007 Implement UDP getsockopt and setsockopt 2024-08-28 14:01:18 +08:00
ffc717f00b Enable handling page fault around 2024-08-28 11:04:03 +08:00
a5e6c11d1a Correct FcntlCmd 2024-08-27 22:14:40 +08:00
47be0a909b Schedule tasks to APs in aster-nix 2024-08-27 17:22:47 +08:00
ed82c11dd3 Use a SpinLock for the thread table instead of Mutex 2024-08-27 17:22:47 +08:00
86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
aa77747f94 Make mprotect&munmap return fast when len is zero 2024-08-26 12:06:31 +08:00
212440dbb1 Fix: mmap len cannot be zero 2024-08-26 12:06:31 +08:00
32a1a53ee7 Enable check of atomic mode 2024-08-26 10:23:25 +08:00
54cbacb2ff Replace the CpuLocal's borrow* APIs with get_with 2024-08-25 20:14:06 +08:00
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
9a94ba23aa Replace the Deref implementation of CpuLocal with get_on_cpu 2024-08-25 20:14:06 +08:00
3cac1b2a03 Use AtomicU32 to read/write latest modified pid 2024-08-25 20:13:05 +08:00
ccdf2dc54f Drop the MutexGuard of semaphore earlier 2024-08-25 20:13:05 +08:00
547e6430ee Pass the reference of sem_buf to semop 2024-08-25 20:13:05 +08:00
83a4366a72 Remove check_sem in semop 2024-08-25 20:13:05 +08:00