Commit Graph

20 Commits

Author SHA1 Message Date
a1accf4304 Do some miscellaneous page table cleanups 2025-06-22 16:46:07 +08:00
e78927b449 Manage frame tracking outside the page table 2025-06-12 22:34:46 +08:00
2c917ba383 Unify page table template parameters 2025-06-12 22:34:46 +08:00
619814e652 Add unsafe with caller-upheld comments 2025-06-03 15:00:13 +08:00
79b3f68892 Make the RCU lifetime of page tables explicit 2025-05-24 17:42:17 +08:00
54fbdcf059 Implement the stray marking in PT to ensure serializability 2025-05-24 17:42:17 +08:00
d873e121ff DFS lock protocol for the page table 2025-05-24 17:42:17 +08:00
0d36375dfa Avoid generic_const_exprs feature 2025-03-06 16:35:21 +08:00
5834f299bc Fix a potential race condition during PTE read/write operations 2025-02-20 22:36:35 +08:00
983a6af3cc Polish the doc and rename variables in ostd::mm 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
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
60365a818a Use pointer metadata for page metadata 2024-12-16 13:22:05 +08:00
b2b00bdfd2 Lock-free cursor creation 2024-11-09 20:32:48 +08:00
e60b5b7649 Refine mapping-related locks 2024-10-26 21:55:48 +08:00
e1e7afe0ca Use node::Entry to optimize page table cursor operations 2024-10-06 17:15:41 +08:00
96f120d957 Clean up some page table implementation 2024-10-06 17:15:41 +08:00
5bdf85b5f0 Regulate the mapping tracking status of page tables 2024-10-06 17:15:41 +08:00