commit | 790cd5ce767200a0269d5bb0e550c70b23167404 | [log] [tgz] |
---|---|---|
author | Adrian Danis <adanis@google.com> | Wed Oct 28 01:25:43 2020 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Wed Oct 28 01:25:43 2020 +0000 |
tree | 8edfb1a5330096d21db4052b6282b4c688727b72 | |
parent | 61c9f2d26f24a65d450309614abea5e5d7e245d7 [diff] |
[kernel][vm] Hold lock over VmCowPages::Commit This redistributes the commit logic between VmCowPages and VmObjectPaged. The goal is to move the top level retry loop that has to wait on page requests with the lock dropped in VmObjectPaged, and have the VmCowPages perform only the section that can be done with the lock held. Motivation for this is that later we would like the cow_pages_ link in VmObjectPaged to be modifiable to point to different VmCowPages. If VmCowPages would be dropping the lock mid operation then it could potentially cease being the linked object, and when the lock is reacquired be acting on the wrong VmCowPages. Dropping the lock in VmObjectPaged ensures that after we re-acquire we will use any potentially updated cow_pages_ link. Change-Id: I8ab81aa621511013b2846b47fa460fd6d7be1048 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/437345 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.