Commit Graph

41 Commits

Author SHA1 Message Date
Zhang Junyang f1c7564184 Move CPU context implementations to a specific module 2025-03-21 21:19:50 +08:00
Chen Chengjun 048fd1077c Inject post_schedule/user_page_fault handler to OSTD 2025-03-20 14:20:47 +08:00
Chen Chengjun 2a20f6b59a Add mutable functionality to the process VMAR 2025-03-20 14:20:47 +08:00
Chen Chengjun 248b24fb4e Remove UserSpace abstraction from OSTD 2025-03-20 14:20:47 +08:00
Zejun Zhao d71771e49a Re-enable CFS 2025-02-11 10:51:12 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li 2cf4aebe7a Use `FnOnce() + Send` as task `func` 2025-01-23 09:57:10 +08:00
Marsman1996 5df8d59563 Exit when handle_user_signal fail 2024-12-26 18:33:32 +08:00
Ruihan Li 0bfe7aceb8 Utilize `ThreadLocal` 2024-12-26 14:51:20 +08:00
Zejun Zhao ced0023d6b Introduce a syscall restart mechanism 2024-12-16 21:12:08 +08:00
Ruihan Li 969ac97144 Make atomic mode panics have clear messages 2024-12-11 20:27:29 +08:00
徐启航 878f3f3760 Scheduling class support 2024-12-04 09:36:41 +08:00
Ruihan Li 39d303c72f Rename `get_current_userspace` to `current_userspace` 2024-11-15 13:24:58 +08:00
Ruihan Li e6c613f538 Rename `(Posix)ThreadExt` to `As(Posix)Thread` 2024-11-13 21:44:37 +08:00
Ruihan Li 9233d1cdbb Add `ThreadExt` and clean up `PosixThreadExt` 2024-11-13 21:44:37 +08:00
Ruihan Li a4a8807a20 Remove `KernelThreadExt` 2024-11-13 21:44:37 +08:00
Ruihan Li 7850f7e60a Resolve `borrowed_box` lint 2024-11-13 21:44:37 +08:00
Zhang Junyang 25a918d132 Print who and on which CPU the kernel panics 2024-11-07 16:39:47 +08:00
Chen Chengjun 846b3ba169 Use LinkedList to store WorkItem to avoid additional heap allocation 2024-11-01 11:24:09 +08:00
Chen Chengjun 2ac6e0e126 Avoid adding worker during workqueue enqueueing 2024-11-01 11:24:09 +08:00
Zhang Junyang 1b23182dcc Fix the thread status ordering by limiting the API 2024-10-26 22:06:41 +08:00
Zhang Junyang e319641b4d Implement system call `sched_get/set_affinity` 2024-10-26 22:06:41 +08:00
Zhang Junyang 3468ec213b Use `CpuId` with validity ensurance rather than `u32` 2024-10-26 22:06:41 +08:00
Zhang Junyang 4658b62f90 Treat thread oops with better care to avoid silent panics 2024-10-22 10:08:24 +08:00
Zhang Junyang 4823b82e41 Catch panics in threads as oops 2024-10-20 13:24:58 +08:00
Zhang Junyang 9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
jellllly420 9cc63149f1 Remove cpu_affinity field from OSTD Task struct 2024-09-27 10:21:45 +08:00
jellllly420 8927031426 Remove priority field from OSTD Task struct 2024-09-27 10:21:45 +08:00
Jianfeng Jiang fb718fd440 Optimize the latency of lat-sig-install 2024-09-25 17:29:20 +08:00
jellllly420 21fedd1b60 Implement atomic wrapper for integer-like type 2024-09-25 14:47:37 +08:00
YanWQ-monad 4d36dd541f Extract x86-specific exception handling in aster-nix 2024-09-23 19:39:45 +08:00
YanWQ-monad 2a6733579d Refactor architecture-specific page fault handling 2024-09-20 10:56:13 +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
Chen Chengjun 1873bb7a3f Add wait_until_* functionality to Waiter 2024-09-14 13:59:07 +08:00
Zhang Junyang d9eccdcfbe Implement remote TLB flush on `VmSpace` 2024-09-13 20:10:03 +08:00
Chen Chengjun 1fb34780f6 Eliminate an additional current!() operation in user space pagefault handling 2024-09-12 21:09:16 +08:00
Jianfeng Jiang a72c7dadf3 Optimize the latency of lmbench-signal-prot 2024-08-28 14:27:41 +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
Zhang Junyang dafd16075f Remove the shim kernel crate 2024-08-23 23:37:50 +08:00