commit | 57fdbd3ae28cae99377110b649de6ac7b41b03ad | [log] [tgz] |
---|---|---|
author | Dangyi Liu <dangyi@google.com> | Thu May 19 06:17:06 2022 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu May 19 06:17:06 2022 +0000 |
tree | 2a48bb53591f330162a0ec1d4be855694b8059ab | |
parent | e61588d1d2775304a3a58807f3f37584e775ad3c [diff] |
Revert "[kernel][vm] Robust PageRequest batching" This reverts commit 2f5df2c170150b19c0fd8adfae34817b8f7a6566. Reason for revert: causing kernel panic in CI Original change's description: > [kernel][vm] Robust PageRequest batching > > Changes the batching state from being inferred from the return value of > PageSource::GetPage, to being queryable from the PageSource. This has > three benefits > 1. If an in progress batch request is given to the wrong PageSource it > can be detected and safely handled. This cannot happen today, but could > happen when there are additional implementors of PageRequestInterface. > Specifically with an anonmyous page requester you could have a > copy-on-write child of a pager backed VMO that has CommitRange called. > The first page could be present in the parent, but missing in the > child, requiring a page allocation, which could fail causing the > PageRequest to be filled in. Since its in batch mode we would continue > and then possibly find a page missing from the root vmo, and attempt > to fill in the PageRequest using the PageSource. > 2. The ZX_ERR_NEXT state that previously meant further batching was > possible is also used for loop control everywhere in the VM system. > Propagating GetPage statuses up to the root caller therefore has the > chance of colliding with an attempt to perform a ForEveryPage or > equivalent iteration. This does not happen today, but this is a hazard > that would not be easily detected. > 3. Additional assertions can be added using this state to ensure the > page request API is used correctly. > > Bug: 99890 > Run-All-Tests: True > Change-Id: Id35c487c52591f709656c412e5f13933e0225883 > Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/679849 > Commit-Queue: Adrian Danis <adanis@google.com> > Fuchsia-Auto-Submit: Adrian Danis <adanis@google.com> > Reviewed-by: Rasha Eqbal <rashaeqbal@google.com> Bug: 99890 Change-Id: Ib30888a3c8e328841fca0b67e86add0230a77286 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/681056 Commit-Queue: Dangyi Liu <dangyi@google.com> Reviewed-by: RubberStamper 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.
We expect everyone interacting with our project to respect our code of conduct.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.