26 Commits

Author SHA1 Message Date
Zhang Junyang
d873e121ff DFS lock protocol for the page table 2025-05-24 17:42:17 +08:00
Zhang Junyang
9cb28f8dd0 FrameRef for all types of frames 2025-05-11 15:42:46 +08:00
Zhang Junyang
18df0f6ec9 Fix the linear mapping size if the IO range is high 2025-05-06 23:33:05 +08:00
Fabing Li
1e3098d734 Add ktest cases for frame components 2025-03-26 11:09:13 +08:00
Zhang Junyang
fdbe52c2ee Relax AnyFrameMeta's requirement of Debug and 'static 2025-03-14 19:55:00 +08:00
Zhang Junyang
28e7c0ff1f Add a fixed-size cache of frame allocation 2025-03-14 08:37:37 +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
Zhang Junyang
0b050d5e66 Linked lists of Frames 2025-02-14 13:24:51 +08:00
Zhang Junyang
b59cd9cea2 Use 64-bit reference counts for frames and fix meta layouts 2025-02-14 13:24:51 +08:00
Zhang Junyang
44d54f4b23 Implement UniqueFrame and Frame::from_in_use 2025-02-14 13:24:51 +08:00
Ruihan Li
b415538097 Remove useless #[allow(lint)] 2025-02-08 15:10:04 +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
cdac59beda Implement a new set of physical page APIs 2024-12-27 12:12:51 +08:00
Zhang Junyang
14308f81b6 Remove AnyFrame 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
60365a818a Use pointer metadata for page metadata 2024-12-16 13:22:05 +08:00
Zhang Junyang
9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
Zhang Junyang
909639fd70 Separate SegmentSlice from Segment 2024-10-09 19:23:46 +08:00
Zhang Junyang
bec2c97637 Don't copy on write if this is the only reference 2024-09-13 20:10:03 +08:00
Shaowei Song
dce796cdde Refactor all io APIs of vfs based on VmReader/VmWriter 2024-08-22 22:54:30 +08:00
Shaowei Song
2102107be1 Refactor VmReader&VmWriter as given fallibility marker 2024-08-21 22:24:15 +08:00
Ruihan Li
562e644375 Clarify some safety conditions of Vm{Reader,Writer} 2024-08-21 09:34:21 +08:00
Zhang Junyang
71a486b9a5 Bye, FrameVec 2024-07-20 20:56:29 +08:00
Chen Chengjun
09b6153d29 Refactor VmReader/Writer to support both kernel space and user space 2024-06-28 15:36:21 +08:00
Jianfeng Jiang
59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00