jiangjianfeng
3e66732889
Parse netlink message
2025-04-15 17:20:12 +08:00
jiangjianfeng
ac42e83387
Add basic structure for netlink route socket
2025-04-15 17:20:12 +08:00
jiangjianfeng
2c41055470
Expose more methods on bigtcp iface
2025-04-15 17:20:12 +08:00
jiangjianfeng
7d24e63216
Move network polling code to bottom half
2025-04-15 14:54:51 +08:00
Ruihan Li
a1f81df263
Remove `ostd/src/mm/offset.rs`
2025-04-15 09:15:22 +08:00
Ruihan Li
8600278a5f
Drop files at the correct time
2025-04-14 21:13:11 +08:00
Ruihan Li
7e1abc1fbb
Rename `ProcessVmarGuard::get` to `unwrap`
2025-04-14 21:13:11 +08:00
Ruihan Li
293f1ff4c9
Do `release_range_locks` in `Drop`
2025-04-14 21:13:11 +08:00
Chen Chengjun
a21e895102
Enable RCU to read reference to stored pointers
2025-04-10 14:42:51 +08:00
jiangjianfeng
b833ec6ede
Implement ReadCString for MultiRead
2025-04-09 16:47:11 +08:00
Ruihan Li
ceb79ea27a
Always move zombie children to init
2025-04-07 13:01:22 +08:00
Chen Chengjun
e4f07b76a0
Add real vfork logics
2025-04-03 14:44:39 +08:00
le-monde-bleu
43e43ca133
Add vfork syscall and related clone flags
2025-04-03 14:44:39 +08:00
Ruihan Li
0bbd56ecf3
Don't panic for missing virtio-net
2025-04-02 11:33:51 +08:00
jiangjianfeng
1846c680fc
Clone the reader to prevent cursor misplacement in `ReadCString`
2025-03-31 14:00:04 +08:00
Shaowei Song
2af71ff72a
Add xattr support for ext2
2025-03-28 15:08:59 +08:00
Shaowei Song
97c27e8d2a
Add xattr support for ramfs
2025-03-28 15:08:59 +08:00
Shaowei Song
a47eda413c
Add extended attribute (xattr) syscalls: setxattr, getxattr, listxattr and removexattr
2025-03-28 15:08:59 +08:00
Cautreoxit
7a8afd8c48
Add a empty line after the license
2025-03-25 19:47:55 +08:00
jiangjianfeng
0e1c660225
Make VmReader's several methods accept `&mut self`
2025-03-25 14:25:08 +08:00
Zhang Junyang
4f0acddfd4
Strict TLB coherence
2025-03-21 21:19:50 +08:00
Zhang Junyang
30ec0be210
Halt the idle CPUs
2025-03-21 21:19:50 +08:00
Zhang Junyang
f1c7564184
Move CPU context implementations to a specific module
2025-03-21 21:19:50 +08:00
Zhang Junyang
298a205da2
Avoid an `Arc::clone` in `mmap` to make it scale
2025-03-21 20:09:42 +08:00
Zhang Junyang
f9284d3803
Workaround the missing process of a thread
2025-03-21 18:05:10 +08:00
Fabing Li
bce23a63bd
Add sys_signalfd/sys_signalfd implementation
2025-03-21 16:10:55 +08:00
Ruihan Li
bb1b41b413
Fix dead code lints
2025-03-21 16:00:35 +08:00
Hsy-Intel
49e6cd2712
Use macro to handle TDX-related code
2025-03-20 17:25:22 +08:00
Chen Chengjun
135100a472
Modify the getting-VMAR usages in other syscalls
2025-03-20 14:20:47 +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
73e0b30785
Eliminate redundant check in hot path
2025-03-20 10:45:16 +08:00
Zejun Zhao
c1e6f9a552
Eliminate redundant Clone in hot path
2025-03-20 10:45:16 +08:00
Zhang Junyang
288942b970
Revise the docs of the slab and remove an unused type
2025-03-14 21:17:47 +08:00
Zhang Junyang
a708a0c046
Inject a scalable slab allocator
2025-03-14 19:55:00 +08:00
jiangjianfeng
d366043876
Enable sig_action test from gVisor test
2025-03-14 16:09:11 +08:00
jiangjianfeng
7e96810e1a
Remove trampoline code in handling user kernel
2025-03-14 16:09:11 +08:00
Zhang Junyang
5f05963ee5
Inject a scalable buddy system allocator to OSTD
...
Co-authored-by: Zhe Tang <tangzh@stu.pku.edu.cn>
2025-03-14 08:37:37 +08:00
Zejun Zhao
455b8abba0
Adopt a round-robin strategy to select among equally idle CPUs
2025-03-13 16:28:02 +08:00
Ruihan Li
d40d452e9d
Receive RST packets as `ECONNRESET` errors
2025-03-10 18:08:08 +08:00
Ruihan Li
aa29640ed7
Send RST packets when appropriate
2025-03-10 18:08:08 +08:00
Ruihan Li
eef56c770b
Simplify the TCP state check
2025-03-10 18:08:08 +08:00
jiangjianfeng
388eec449a
Add ip level socket option
2025-03-07 13:38:02 +08:00
js2xxx
ffc7e3612d
Fix `RLimit` lock update
2025-03-06 21:29:40 +08:00
js2xxx
c1dde01fc3
Add `sched_attr` system call series
2025-03-06 21:29:40 +08:00
Ruihan Li
9e1c939a3f
Remove `static_assertions`
2025-03-06 16:35:21 +08:00
Shaowei Song
d19578ac78
Pooling some cached block writes in ext2
2025-03-06 11:43:07 +08:00
Wang Siyuan
5bfdcfc619
Add memory resource limit mechanism
2025-03-06 11:22:05 +08:00
Wang Siyuan
eca3c8fb59
Refactor RLimit64 to atomic
2025-03-06 11:22:05 +08:00
Ruihan Li
d37e60d082
Report socket errors in `send`/`recv`
2025-03-05 19:48:28 +08:00
Ruihan Li
68cf99993e
Remove socket errors from `SocketOptionSet`
2025-03-05 19:48:28 +08:00
Chen Chengjun
801eac9386
Support PR_SET/GET_CHILD_SUBREAPER for sys_prctl
2025-03-03 19:31:50 +08:00
Zhang Junyang
78a695f21b
Use `RcuOption` for lazy-initialized soft-IRQ callbacks
2025-03-03 09:24:49 +08:00
wheatfox
6d42a07e95
Implement `getcpu` syscall and add corresponding test application
2025-02-27 11:41:26 +08:00
Fabing Li
cbb4b4e631
Fix lint errors
2025-02-27 11:36:41 +08:00
Ruihan Li
18e0eae331
Never expose `ERESTARTSYS` to the userspace
2025-02-23 23:11:05 +08:00
Ruihan Li
8187fa2f1b
Fix timeout mechanism in `wait_events`
2025-02-23 23:11:05 +08:00
Ruihan Li
2411ba671c
Reapply "Make `pause_timeout` return `EINTR`"
...
This reverts commit 7a017faa44 .
2025-02-23 23:11:05 +08:00
Zejun Zhao
29791ba77e
Distribute tasks among all the CPUs
2025-02-21 10:02:46 +08:00
Shaowei Song
328ba47ccd
Fix and revise the directory entry handling in ext2
2025-02-11 11:33:31 +08:00
Zejun Zhao
d71771e49a
Re-enable CFS
2025-02-11 10:51:12 +08:00
Zejun Zhao
c2f48a41db
Clean up the implementation of scheduling class
2025-02-11 10:51:12 +08:00
jiangjianfeng
3f951e0c0c
Enable gVisor tcp_socket_test
2025-02-11 10:50:20 +08:00
Zhang Junyang
e1ced5f385
Conditionally compile dead code in `interval_set.rs`
2025-02-11 10:48:34 +08:00
Shaowei Song
fecf766771
Revise the cache page allocation for `PageCacheManager`
2025-02-11 10:48:12 +08:00
Ruihan Li
418f58ec89
Avoid locking twice in UDP `send`
2025-02-08 15:44:44 +08:00
Ruihan Li
6a13787c49
Implementing `FileLike` for all `Socket`s
2025-02-08 15:44:44 +08:00
Ruihan Li
3c6737a4ca
Revise doc comments for `Socket`
2025-02-08 15:44:44 +08:00
Ruihan Li
a6b3a65fe5
Don't allocate when possible in `do_poll`
2025-02-08 15:43:20 +08:00
Ruihan Li
0dca168717
Use `#[expect(lint)]`, not `#[allow(lint)]`
2025-02-08 15:10:04 +08:00
Ruihan Li
b415538097
Remove useless `#[allow(lint)]`
2025-02-08 15:10:04 +08:00
Shaowei Song
56b85cb132
Cache negative dentries for faster negative lookups
2025-01-24 11:48:15 +08:00
Ruize Tang
c4229e3c2f
Add INITRAMFS_SKIP_GZIP option to make initramfs encoding/decoding faster
2025-01-23 10:50:43 +08:00
Ruihan Li
b472737771
Resolve FIXME in pipe tests
2025-01-23 09:57:10 +08:00
Ruihan Li
2cf4aebe7a
Use `FnOnce() + Send` as task `func`
2025-01-23 09:57:10 +08:00
Shaowei Song
6a865062e6
Unify and optimize the comparison of special file names
2025-01-21 11:34:56 +08:00
Fabing Li
aa5bc6ff73
Fix the unit of meminfo
2025-01-21 11:29:08 +08:00
Shaowei Song
6de5be1ecc
Make the generic inode permisson check faster
2025-01-10 10:21:52 +08:00
Ruihan Li
b9ce3e64ad
Make the file lookup faster
2025-01-09 10:58:16 +08:00
Ruihan Li
16db96e496
Adjust `as_socket` signature
2025-01-09 10:58:16 +08:00
Ruihan Li
a7741a8a75
Remove `as_device` from `FileLike`
2025-01-09 10:58:16 +08:00
Zhang Junyang
5ea366bced
Move kcmdline parsing out of OSTD
2025-01-02 10:41:51 +08:00
Zhang Junyang
397ce9652f
Refactor boot modules to make heap allocation explicit
2025-01-02 10:41:51 +08:00
jiangjianfeng
39cc0dca26
Add socket hash table
2024-12-30 09:46:14 +08:00
js2xxx
0d30ce0b2c
Improve readability on `SchedPolicy` storage & reduce memory foot print on sched entities
2024-12-30 09:38:48 +08:00
js2xxx
364d6af7c8
Reduce the held time of scheduling policy lock
2024-12-30 09:38:48 +08:00
Zejun Zhao
ea953209ff
Add a fast path while picking next thread from RT scheduling class
2024-12-28 14:30:33 +08:00
Shaowei Song
f739c67ed3
Issue device sync request at the end of ext2's sync
2024-12-27 12:23:19 +08:00
Shaowei Song
4d5d0942ad
Minor improvements to ext2 inode
2024-12-27 12:23:19 +08:00
Shaowei Song
0799976018
Improve directory entry handling efficiency in ext2
2024-12-27 12:23:19 +08:00
Zhang Junyang
ff453f5933
Use `CachePage` in all related block functions
2024-12-27 12:12:51 +08:00
Zhang Junyang
983a6af3cc
Polish the doc and rename variables in `ostd::mm`
2024-12-27 12:12:51 +08:00
Zhang Junyang
f332797084
Use frame metadada for page cache
2024-12-27 12:12:51 +08:00
Zhang Junyang
cdac59beda
Implement a new set of physical page APIs
2024-12-27 12:12:51 +08:00
Zhang Junyang
c9a37ccab1
Renaming concepts around pages and frames
...
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
- `Segment` -> `UntypedSegment`,
- `ContPages` -> `Segment`,
- `DynPage` -> `AnyFrame`,
- `PageMeta` -> `FrameMeta`,
- `FrameMeta` -> `UntypedMeta`.
This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
Zhang Junyang
10f1856306
Remove the vectorized page allocation
2024-12-27 12:12:51 +08:00
Marsman1996
5df8d59563
Exit when handle_user_signal fail
2024-12-26 18:33:32 +08:00
anbo225
e75b6320ad
Add support for group-based permission checking in ext2
2024-12-26 17:07:55 +08:00
Zejun Zhao
6cea8d2a8c
Make stop runqueue per-CPU
2024-12-26 14:54:22 +08:00