Commit Graph

825 Commits

Author SHA1 Message Date
2002db5481 Add wait_until_or_cancelled API to WaitQueue 2024-05-20 16:09:27 +08:00
91152bceed Add a small patch to CpuLocal 2024-05-20 16:09:27 +08:00
2d17177cb5 Re-implement the alarm syscall 2024-05-20 16:09:27 +08:00
b226928349 Remove the timer module from the aster-frame and adjust the related code 2024-05-20 16:09:27 +08:00
d019de29f9 Add abstractions for Clock and Timer 2024-05-20 16:09:27 +08:00
0d5131c822 Extract x86-specific syscall dispatch to arch/x86 2024-05-17 21:29:04 +08:00
f19dfc7873 Add the throughput for file_io 2024-05-17 15:26:17 +08:00
82220748c0 Use a seedable RNG instead of getrandom crate 2024-05-17 10:28:18 +08:00
b11e6d2d62 Add syscall accept4 2024-05-16 19:17:38 +08:00
ea25157790 Support mmap shared anonymous memory 2024-05-16 19:13:32 +08:00
89b21ba3b4 Add syscall rt_sigsuspend 2024-05-16 19:10:04 +08:00
25b7007ffa Improve the read/write efficiency of Vmo 2024-05-16 18:58:51 +08:00
f4ea23b72c Revise the pages() method in the page cache to only return a reference 2024-05-16 18:54:39 +08:00
770a123415 Change the return value of dup() for Vmo<Rights> 2024-05-16 18:54:39 +08:00
e6b0fd8aa3 Optimize the RamFs to reduce the use of redundant locks 2024-05-16 18:54:39 +08:00
27bcece750 Optimize the ThreadStatus to be lock-free 2024-05-16 18:54:39 +08:00
0eaa6e637d Optimize the SigQueues to return early without lock 2024-05-16 18:54:39 +08:00
8bcadee540 Extract dentry.rs and mount.rs to path module, rename Dentry and DentryMnt and check usage of pub.
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
8d18a12385 Refactor DentryMnt and fix some issues
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
60fa4d104a Rename struct Path to struct DentryMnt
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
6d486c6c01 Add struct Path for VFS
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
bc1bf4cb53 Add the file_io microbenchmark 2024-05-16 13:15:09 +08:00
078f9a8891 Add syscall eventfd and eventfd2 2024-05-15 21:52:17 +08:00
ccc4e6ec6b Move whole kernel ELF to VMA 2024-05-15 21:31:09 +08:00
4e1d98a323 Poll interfaces at the right time 2024-05-15 18:32:02 +08:00
dbc234ada6 Rename cx_ptr to ctx_ptr 2024-05-14 10:00:59 +08:00
47fe10f17b Avoid poorly chosen variable names 2024-05-14 10:00:59 +08:00
a215cb54d9 Use UnsafeCell to store UserContext 2024-05-14 10:00:59 +08:00
5189f889a3 Support Channel sending data which does not implement Copy 2024-05-13 20:04:09 +08:00
83c2aba0b0 Use SpinLock to protect PROCESSOR 2024-05-13 19:39:50 +08:00
81cca42205 Refine WaitQueue with fast path to return early 2024-05-11 11:11:12 +08:00
035e12a4bd Identify the page table free-reuse-then-read problem and feature gate it 2024-05-10 19:07:05 +08:00
679e5dac68 Remove the VA to PA API and tidy up kernel space 2024-05-10 19:07:05 +08:00
cf5cfb3475 Enable global page and add a global TLB flushing function 2024-05-10 19:07:05 +08:00
989970429a Refactor the definition of page properties and permissions 2024-05-10 19:07:05 +08:00
351e08c897 Escalate page table consts to be paging consts 2024-05-10 19:07:05 +08:00
2dbeb92326 Implement fine grained locks for the page table and adjust APIs 2024-05-10 19:07:05 +08:00
ef1ab72ebe Let page table own frames and remove MemorySet 2024-05-10 19:07:05 +08:00
b6f8661abb Add unit tests for the page table 2024-05-10 19:07:05 +08:00
82bdadf754 Add a PTE extension mechanism 2024-05-10 19:07:05 +08:00
513ac97969 Add shortcuts for writing page table protections 2024-05-10 19:07:05 +08:00
24a868a670 Implement an efficient ranged page table 2024-05-10 19:07:05 +08:00
c9cfb98746 Improve the efficiency of fill method in VmWriter 2024-05-10 11:08:51 +08:00
a6055bb092 Fix a deadlock issue in ramfs 2024-05-10 11:05:41 +08:00
7a82132ecc Bump version in the documentation 2024-05-10 10:47:53 +08:00
c3d0c59041 Fix the logics for the coarse resolution clock id in VDSO. 2024-05-09 17:34:10 +08:00
ff3ff0a598 Fix the potential bugs of read and write in Vmar 2024-05-09 17:23:55 +08:00
d1990869ae Make ID allocator a separate crate and use it in the frame 2024-05-09 14:35:12 +08:00
8f3b1f8ddf Reduce some redundant usage of current! and current_thread! 2024-05-09 14:33:21 +08:00
98a2e623e2 Avoid computation of log message arguments in syscall handler 2024-05-09 14:33:21 +08:00