Commit Graph

1955 Commits

Author SHA1 Message Date
a7741a8a75 Remove as_device from FileLike 2025-01-09 10:58:16 +08:00
16862a2024 Use mutable pointer for kernel heap
Co-authored-by: Chen Chengjun <chenchengjun.ccj@antgroup.com>
2025-01-02 13:21:47 +08:00
87ee88da8c Alloc-free boot page table
This PR uses an unused bit to differentiate allocated boot PT frames,
so that there's no need of a buffer to remember and deallocate frames.
2025-01-02 10:41:51 +08:00
7676f8ec95 Reorder heap initialization 2025-01-02 10:41:51 +08:00
5ea366bced Move kcmdline parsing out of OSTD 2025-01-02 10:41:51 +08:00
397ce9652f Refactor boot modules to make heap allocation explicit 2025-01-02 10:41:51 +08:00
51349a3da1 Heapless memory region initialization 2025-01-02 10:41:51 +08:00
0c8200dc7b Add nginx benchmark and workaround 2025-01-01 10:43:14 +08:00
56a137dc56 Add mlsdisk as a component
Co-authored-by: Shaowei Song <songshaowei.ssw@antgroup.com>
2025-01-01 09:19:32 +08:00
6e691d5838 Fix several typos in benchmarks 2024-12-31 13:19:30 +08:00
631ab21838 Set hash buckets as 2 to work around performance bottleneck 2024-12-31 13:19:30 +08:00
f509c546f9 Adjust the lint check to recognize "wrk" as a valid word. 2024-12-31 10:38:24 +08:00
7334c93ff5 Make bigtcp error wrappers consistent 2024-12-30 21:41:51 +08:00
bfc71d1b27 Bump version to 0.11.1 v0.11.1 2024-12-30 16:24:22 +08:00
cbe6e54b82 Install apache web server in docker image
Co-authered-by: Zhang Junyang <junyang@stu.pku.edu.cn>
2024-12-30 16:24:22 +08:00
39cc0dca26 Add socket hash table 2024-12-30 09:46:14 +08:00
783345b90b Add Bob Jenkins's hash algorithm 2024-12-30 09:46:14 +08:00
0d30ce0b2c Improve readability on SchedPolicy storage & reduce memory foot print on sched entities 2024-12-30 09:38:48 +08:00
364d6af7c8 Reduce the held time of scheduling policy lock 2024-12-30 09:38:48 +08:00
ea953209ff Add a fast path while picking next thread from RT scheduling class 2024-12-28 14:30:33 +08:00
cbf7a85451 Add Memcached into benchmark
Co-authered-by: Zhang Junyang <junyang@stu.pku.edu.cn>
2024-12-27 16:41:18 +08:00
f739c67ed3 Issue device sync request at the end of ext2's sync 2024-12-27 12:23:19 +08:00
4d5d0942ad Minor improvements to ext2 inode 2024-12-27 12:23:19 +08:00
0799976018 Improve directory entry handling efficiency in ext2 2024-12-27 12:23:19 +08:00
ff453f5933 Use CachePage in all related block functions 2024-12-27 12:12:51 +08:00
983a6af3cc Polish the doc and rename variables in ostd::mm 2024-12-27 12:12:51 +08:00
f332797084 Use frame metadada for page cache 2024-12-27 12:12:51 +08:00
cdac59beda Implement a new set of physical page APIs 2024-12-27 12:12:51 +08:00
6e1c36965a Allow Segment<dyn FrameMeta> 2024-12-27 12:12:51 +08:00
ef6ff7ad84 Let frame on-drop call backs take readers 2024-12-27 12:12:51 +08:00
14308f81b6 Remove AnyFrame 2024-12-27 12:12:51 +08:00
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
10f1856306 Remove the vectorized page allocation 2024-12-27 12:12:51 +08:00
2f82ca846f Work around the compile error caused by crate "unwinding" 2024-12-27 10:34:06 +08:00
5ec4c095c1 Fix bug for memcached install 2024-12-27 07:55:28 +08:00
bd89c9c578 Bump the version to 0.11.0 v0.11.0 2024-12-26 19:20:58 +08:00
7a02affd2a Add Memcached and libmemcached to the Dockerfile 2024-12-26 19:20:58 +08:00
5df8d59563 Exit when handle_user_signal fail 2024-12-26 18:33:32 +08:00
e75b6320ad Add support for group-based permission checking in ext2 2024-12-26 17:07:55 +08:00
6cea8d2a8c Make stop runqueue per-CPU 2024-12-26 14:54:22 +08:00
87da1a0787 Enhance the search pattern 2024-12-26 14:52:56 +08:00
0bfe7aceb8 Utilize ThreadLocal 2024-12-26 14:51:20 +08:00
38fcaaf749 Implement the task local data 2024-12-26 14:51:20 +08:00
3dbdef4d6c Add several lmbench network benchmark 2024-12-26 09:08:21 +08:00
3e47ed10fd Check name when lookup_child in TaskDirOps 2024-12-26 09:06:18 +08:00
9753d796c5 Add overflow check for futex_addr 2024-12-26 09:05:24 +08:00
5aa73d3bcf Use REF_COUNT_MAX to avoid overflowing 2024-12-25 18:20:36 +08:00
f03ffd0d10 Use REF_COUNT_UNUSED to ensure exclusive access 2024-12-25 18:20:36 +08:00
a2863d6db3 Use MaybeUninit to store metadata vtable 2024-12-25 18:20:36 +08:00
1a5bf7b0ad Add overflow check for given sigaltstack addr and size 2024-12-25 15:46:17 +08:00