
This commit adds support for priority inheritance mutexes on all Linux platforms but enables it only on Android at build time. The feature is enabled only on kernel versions >= 6.1 and is further gated behind a feature flag to monitor its effect prior to full enablement. Currently, the background priority worker threads feature is purely a function of if priority inheritance locks are supported. But in order to gather field data on the effects of running worker threads at background priority once priority inheritance mutexes are enabled, the two features need to be decoupled. Thus, the enablement of background priority worker threads is gated behind a separate feature flag. Bug: 384902323 Change-Id: I2a59549aaedfb27127f241103ab05a7f95d8c631 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6299348 Commit-Queue: Anand Ravi <anandrv@google.com> Reviewed-by: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#1438818}
This directory has the following layout:
- base/task/: public APIs for posting tasks and managing task queues.
- base/task/thread_pool/: implementation of the ThreadPool.
- base/task/sequence_manager/: implementation of the SequenceManager.
- base/task/common/: implementation details shared by ThreadPool and SequenceManager.
Apart from embedders explicitly managing a ThreadPoolInstance and/or SequenceManager instance(s) for their process/threads, the vast majority of users should only need APIs in base/task/.
Documentation: