[roll] Roll fuchsia [kernel][vm] ShouldWaitState::Never unblocks current and future allocs

Once the MemoryWatchdog has decided to proceed with the OOM handling
flow, it trips the should_wait_ state to ShouldWaitState::Never. This is
a final state and the expectation is that no more allocations should
wait for memory.

This commit fixes a bug in PmmNode::WaitForSinglePageAllocation which
would cause threads to continue waiting for more memory even after
reaching ShouldWaitState::Never. We now signal all currently waiting
threads, and prevent future ones from waiting.

Original-Bug: 504991863
Test: Added unit tests in pmm_unittest.cc.
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1593662
Original-Revision: c99443fa6ff9d78aed7f3ad7471260fa5295b3d6
GitOrigin-RevId: 5cad56d92b271fa70010a7817638b77f17159f25
Change-Id: Ied0d3ffd38784512a7a5495a8299f5ea37932136
1 file changed
tree: 031c480f3ff012f640784f26a1150c4d50511fee
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.