[roll] Roll fuchsia [kernel][vm] Continuous eviction support Add support for a continuous eviction thread which runs at low scheduler priority, and attempts to maintain a certain number of free pages in the PMM node. The MemoryWatchdog enables eviction at eviction-eligible memory pressure levels, causing the eviction thread to run at fixed intervals of 10s (10s is chosen to match the page queue rotation interval). When the memory pressure subsides and eviction is no longer required, the MemoryWatchdog disables eviction, causing the eviction thread to block indefinitely (until the next time eviction is required again). Continuous eviction is disabled by default, and can be enabled with the kernel cmdline option `kernel.oom.evict-continuous=true`. The cadence at which the eviction thread runs can be configured by the option `kernel.page-scanner.eviction-interval-seconds` (set to 10 by default). Note that this commit does not alter existing eviction behavior which is one-shot, only occurring at memory pressure level transitions. It does however change the thread asynchronous one-shot eviction is performed from; previously it was the scanner thread, after this change it is the new eviction thread. This is an implementation detail and does not really have an observable user effect. Test: kernel-unittests Original-Bug: 72412 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/521886 Original-Revision: ce28e2441fe0a7cf681ee6abee5a6ee5b8de796a GitOrigin-RevId: 9d820be7fc876fc890aa0f495688c2023962b547 Change-Id: I419c977c73efc63a15ad9d61b091e566904a1207
This repository contains Fuchsia's Global Integration manifest files.
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 via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.