commit | 08ec46b68186331f5275098ff33fca66dc5e1b36 | [log] [tgz] |
---|---|---|
author | Adrian Danis <adanis@google.com> | Wed Oct 28 00:58:42 2020 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Wed Oct 28 00:58:42 2020 +0000 |
tree | 62d7175044f51e4be7e6c251f3c4e88be1e30a8a | |
parent | de217a80a0c72506770260d3b165410ea0f5daf7 [diff] |
[kernel][vm] Introduce VmCowPages This creates a parallel hierarchy to VmObjectPaged in VmCowPages. The logic of actually manipulating copy-on-write through the VmPageList is handled by VmCowPages, with VmObjectPaged maintaining responsibility for handling VmMappings and providing the user API. Standalone this commit is a temporary regression in terms of memory use and performance due to the VmObjectPaged still creating needless hidden parents that serve no purpose. The reason to have a temporary regression is to keep this commit as close to "moving code" as possible without there also being additional complex changes hidden inside. This does lay the groundwork for successive commits to perform the 'interesting' transformations to end up in an eventually more efficient hierarchy. Change-Id: I32ee7e8f1a158aa3e8cfa3cdb87435ec129588e9 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/437341 Commit-Queue: Adrian Danis <adanis@google.com> Reviewed-by: Rasha Eqbal <rashaeqbal@google.com> Testability-Review: Rasha Eqbal <rashaeqbal@google.com>
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.