Files
linux-nv-oot/drivers/devfreq/Kconfig
Peng Liu 0a98957d78 devfreq: recent high as a scaling factor
A circle buffer is introduced to store recent normalized GPU active
cycle counts. The highest value in this buffer marks the busiest
moment in recent history. When podgov decides next GPU freqeuncy, it
makes sure the new frequency level can satisfy the recent high work
load. This can be considered as an adaptive GPU frequency floor. This
feature can reduce stutter for certain use cases where work load
spikes occur without any temporal pattern, such as 4k video playback.

Bug 1963732

Change-Id: I70024f4d3ffb63425852e4f320eeffb6bc77c5e3
Signed-off-by: Peng Liu <pengliu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2114154
GVS: Gerrit_Virtual_Submit
Reviewed-by: Thomas Fleury <tfleury@nvidia.com>
Tested-by: Aaron Tian <atian@nvidia.com>
Reviewed-by: David Lock <dlock@nvidia.com>
Reviewed-by: Mubushir Rahman <mubushirr@nvidia.com>
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-04 05:18:03 +00:00

38 lines
1.3 KiB
Plaintext

if PM_DEVFREQ
comment "NVIDIA DEVFREQ Governors"
config DEVFREQ_GOV_POD_SCALING
tristate "Power On Demand Scaling"
help
Sets the frequency based on two properties:
(1) The governor receives activity throughput hints that
indicate whether scaling up or down is required
(2) the load of the devices is estimated using busy times
from device profile to determine if the frequency should
be altered.
config DEVFREQ_GOV_POD_SCALING_HISTORY_BUFFER_SIZE_MAX
int
default 100
config DEVFREQ_GOV_WMARK_SIMPLE
tristate "Simple Watermark"
help
Sets the frequency based on monitor watermark events.
This governor returns the next frequency from frequency table
based on type watermark event.
config DEVFREQ_GOV_WMARK_ACTIVE
tristate "Active Watermark"
help
Sets the frequency based on monitor watermark events.
This governor calculates relation between current load and
target load. The next frequency is calculated by multiplying
this relation with the current frequency.
The watermark values are updated so that the watermarks are
triggered when the above algorithm would change the frequency.
endif # PM_DEVFREQ