Rollup merge of #91057 - the8472:clarify-parallelism-steady-state, r=dtolnay

Expand `available_parallelism` docs in anticipation of cgroup quota support

The "fixed" in "fixed steady state limits" means to exclude load-dependent resource prioritization
that would calculate to 100% of capacity on an idle system and less capacity on a loaded system.

Additionally I also exclude "system load" since it would be silly to try to identify
other, perhaps higher priority, processes hogging some CPU cores that aren't explicitly excluded
by masks/quotas/whatever.
This commit is contained in:
Matthias Krüger 2021-11-27 11:46:42 +01:00 committed by GitHub
commit 8fb58e5ece
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1460,9 +1460,12 @@ fn _assert_sync_and_send() {
/// The purpose of this API is to provide an easy and portable way to query /// The purpose of this API is to provide an easy and portable way to query
/// the default amount of parallelism the program should use. Among other things it /// the default amount of parallelism the program should use. Among other things it
/// does not expose information on NUMA regions, does not account for /// does not expose information on NUMA regions, does not account for
/// differences in (co)processor capabilities, and will not modify the program's /// differences in (co)processor capabilities or current system load,
/// global state in order to more accurately query the amount of available /// and will not modify the program's global state in order to more accurately
/// parallelism. /// query the amount of available parallelism.
///
/// Where both fixed steady-state and burst limits are available the steady-state
/// capacity will be used to ensure more predictable latencies.
/// ///
/// Resource limits can be changed during the runtime of a program, therefore the value is /// Resource limits can be changed during the runtime of a program, therefore the value is
/// not cached and instead recomputed every time this function is called. It should not be /// not cached and instead recomputed every time this function is called. It should not be