commit | 6770011d81eb6bca3b33c169da02be56c2773ceb | [log] [tgz] |
---|---|---|
author | Adrian Danis <adanis@google.com> | Wed Oct 28 01:42:05 2020 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Wed Oct 28 01:42:05 2020 +0000 |
tree | 41ab55a471f729e677a2eaf3a5be645934beb369 | |
parent | 152df6ff719ae29e87ba8393f6c92bcc0163446f [diff] |
[kernel][vm] Remove hidden parents from VmObjectPaged This removes the notion of hidden parents from VmObjectPaged and in the process places control of the VmCowPages hierarchy manipulation in the VmCowPages code, instead of being done from the VmObjectPaged. Aside from the removal of the redundant VmObjectPaged hidden parents this also performs an additional optimization of making the parent_ reference in VmObjectPaged a raw reference and not a RefPtr. This can be done since now that the copy-on-write pages are held in VmCowPages there is no reason to hold the VmObjectPaged around after any other references, such as user handles and mappings, have gone away. Not holding the parent via a refptr also ensures we can not have any chained deletions and so the deferred deletion mechanism is only needed now by VmCowPages. Change-Id: I710eab49b583542f2a773f130319d5b4a8dfc7e8 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/437347 Testability-Review: Adrian Danis <adanis@google.com> Testability-Review: Rasha Eqbal <rashaeqbal@google.com> Commit-Queue: Adrian Danis <adanis@google.com> Reviewed-by: 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.