7ddfd42baa
Make wait_events
support timeout
2024-11-01 13:00:40 +08:00
bbfc2cd12d
Make FileIo
pollable
2024-11-01 13:00:40 +08:00
846b3ba169
Use LinkedList to store WorkItem to avoid additional heap allocation
2024-11-01 11:24:09 +08:00
6ece48c095
Refactor process table
2024-10-28 13:00:13 +08:00
1b23182dcc
Fix the thread status ordering by limiting the API
2024-10-26 22:06:41 +08:00
3468ec213b
Use CpuId
with validity ensurance rather than u32
2024-10-26 22:06:41 +08:00
e60b5b7649
Refine mapping-related locks
2024-10-26 21:55:48 +08:00
3c857d746e
Clear TID before doing futex_wake when exiting a POSIX thread
2024-10-20 13:21:27 +08:00
54a807b5f7
Modify asterinas/kernel/src/process/posix_thread/mod.rs
2024-10-18 09:31:25 +08:00
e32687e6d5
do_exit: Ignore unwrap panic caused by munmap
2024-10-14 14:48:43 +08:00
9e4257b655
Fix multiple issues pointed out by the new compiler
2024-10-13 22:32:05 +08:00
ea489252f4
Refactor Dentry
to optimize the vfs layer
2024-10-11 11:22:52 +08:00
4fa0e6334b
Add RISC-V base support
2024-09-30 10:02:08 +08:00
839c2a6689
Extract shared code from timer
2024-09-30 10:02:08 +08:00
9cc63149f1
Remove cpu_affinity field from OSTD Task struct
2024-09-27 10:21:45 +08:00
8927031426
Remove priority field from OSTD Task struct
2024-09-27 10:21:45 +08:00
0a36760f7a
Respect user-defined exit signal in clone() and clone3()
...
When calling clone() and clone3(), the user is allowed to specify a
signal to be sent to the parent process on exit. Respect this value by
storing it in the Process struct and sending the signal on exit.
Add a test as well to verify that the signal is properly delivered to
the parent.
2024-09-26 20:07:43 +08:00
130a0f7030
Homogenize arguments for clone() and clone3()
...
The arguments for both syscalls follow different formats. Rewrite the
CloneArgs struct to homogenize both formats into one.
2024-09-26 20:07:43 +08:00
fb718fd440
Optimize the latency of lat-sig-install
2024-09-25 17:29:20 +08:00
21fedd1b60
Implement atomic wrapper for integer-like type
2024-09-25 14:47:37 +08:00
4d36dd541f
Extract x86-specific exception handling in aster-nix
2024-09-23 19:39:45 +08:00
46708f84bc
Implement futex private flag
2024-09-22 16:00:56 +08:00
70505ff4f8
Support futex wait timeout
2024-09-19 22:42:13 +08:00
f159b42b61
Fix the condition in is_last_thread
2024-09-18 16:59:17 +08:00
44629e4627
Fix panic in FutexKey::load_val when no read access
2024-09-14 22:45:59 +08:00
f3174dbbbc
Make task store Arc<Thread> and process store Arc<Task>
2024-09-14 17:34:14 +08:00
81b0f265b5
Move Tid from Thread to PosixThread
2024-09-14 17:34:14 +08:00
42e28763c5
Replace the Pausers' usage with Waiter/WaitQueue
2024-09-14 13:59:07 +08:00
822caf34f4
Move Pauser's functionality to Waiter/WaiterQueue and add the per-thread signalled waker
2024-09-14 13:59:07 +08:00
1873bb7a3f
Add wait_until_* functionality to Waiter
2024-09-14 13:59:07 +08:00
6a5a5b4d3d
Add a fast path to has_pending
2024-09-14 13:59:07 +08:00
421f6b8e5b
Fix I/O events cross different states
2024-09-13 22:09:46 +08:00
1186fb7ca9
Use SpinLock
on FileTable
for efficiency
2024-09-13 19:48:26 +08:00
787604b7f6
Use ParentProcess to cache parent pid
2024-09-12 17:41:56 +08:00
a72c7dadf3
Optimize the latency of lmbench-signal-prot
2024-08-28 14:27:41 +08:00
ffc717f00b
Enable handling page fault around
2024-08-28 11:04:03 +08:00
86f09eef75
Fix all spelling mistakes in history by typos tool
2024-08-27 12:19:48 +08:00
6bde87d33a
Fix a bug of InitStack during doing fork+exec
2024-08-25 15:14:11 +08:00
dafd16075f
Remove the shim kernel crate
2024-08-23 23:37:50 +08:00