Not clearing it before a profile switch would
result in never deleting the original plugin
objects - those would accumulate in memory with
each profile switch.
Relates: RHEL-36442
The shell functions in profiles/functions related to irqbalance configuration
have been unused since 462df2610c. Remove them.
Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
The option IRQBALANCE_BANNED_CPUS we're currently using has been deprecated [1],
so switch to IRQBALANCE_BANNED_CPULIST instead.
closes#656
[1] c995237885
Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
Allow to specify CPUs and uncores using package (socket) number.
type=cpu
devices=${f:package2cpus:2} # cpus from package 2
type=cpu
devices=${f:package2cpus:1*} # cpus from any package started from 1 i.e. 11, 12, 13 ...
type=uncore
devices=${f:package2uncores:1:5:9} # uncores from package 1, 5 and 9
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Using direct frequency values in only useful in specialistic profiles
where we know target platform. Allow to configure uncore frequency as
percent of hardware maximum/minimum frequency. Such parameters can be
used in generic profiles like 'balanced' in portable way, for example:
[uncore]
max_freq_khz=90%
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Do not report an error if a process is defunct even if it
is not bound to specific CPUs: failing to change its affinity
does not have any negative effects.
Refactor the helper function _affinity_changeable to
_ignore_set_affinity_error and make it return True/False
depending on whether the failed affinity change can be
ignored (i.e., not reported as an error).
Do not check for vanished processes twice, the later
check is sufficient.
Resolves: RHEL-46560
- Only use the default profile from the configuration file if
TuneD is not already running with an active profile. This
makes the daemon "recall" the active profile after a restart.
- Make sure that SIGHUP completely resets the daemon, including
resetting the 'battery' and 'performance_degraded' status.
In #615, they were accidentally moved to /usr/lib/tuned/profiles/
where all profiles were migrated.
This also changes the location of `functions` file within
the repository, separating it from the profiles themselves.
Resolves#642.
- This is similar to the cpuinfo function that reads from /proc/cpuinfo
- Unfortunately that function was insufficient for our needs as we need to identify both the Vendor and Architecture reliably
The disk plugin checks each device for hdparm
support during initialization. When using many disk
devices, this can lead to unwanted delays in profile
application.
This change makes the hdparm check lazy by postponing
it to the moment when hdparm is actually needed, i.e.,
during dynamic tuning or when setting spindown/apm.
Each device is checked at most once - the plugin now stores
the sets of hdparm-supported devices and hdparm-unsupported
devices).
Resolves: RHEL-6891
The video plugin checks each device for hdparm
support during initialization. When using many disk
devices, this can lead to unwanted delays in profile
application.
This change makes the hdparm check lazy by postponing
it to the moment when hdparm is actually needed, i.e.,
during dynamic tuning or when setting spindown/apm.
Each device is checked at most once - the plugin now stores
the sets of hdparm-supported devices and hdparm-unsupported
devices).
Resolves: RHEL-6891
If the CPU supports hwp_epp, we should always be able to access
EPB via its sysfs knob, so we don't have to check if we have
x86_energy_perf_policy because we don't need it to manipulate EPB.
In some situations it may be desirable to check if a file write is
necessary by comparing the new file content with the existing one
(e.g., when the write always causes an inter-processor interrupt).
This commit adds an option to perform such a check in `write_to_file`.
If it succeeds, the write is skipped.