Since Linux 4.13 the value "powersave" in the x86_energy_perf_policy
program has been renamed to "power". Let's try both values when
applying the powersave profile.
Resolves: rhbz#1508468
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Support specifying alternative Energy Performance Bias values.
The values are separated using the '|' character. For example,
if you have the following in your profile:
[cpu]
energy_perf_bias=powersave|power
then tuned will try to set EPB to 'powersave', and if that fails,
it will try to set it to 'power'.
Resolves: rhbz#1508468
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Fix verification of Energy Performance Bias on Linux 4.13+.
In Linux 4.13, the value strings accepted by the x86_energy_perf_policy
program changed.
Resolves: rhbz#1508468
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Previously verifying the value of a cpumask on systems with more than
32 cores always failed. There are two reasons for this:
1. When there are more than 32 cores, string comparison is done on the
cpu masks. This failed because the value read from sysfs contained
a line feed and was not stripped.
2. The cpumask value was not properly normalized when the value had multiple
non-zero comma separated parts, e.g. '00ffffff,80808000'
Resolves: rhbz#1528368
Catch exceptions not handled elsewhere to make applying, unapplying
and verifying a profile more robust.
Related: rhbz#1571403
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
I.e. one can now write:
[sysctl]
kernel.pid_max=>32768
And the kernel.pid_max will be set to 32768 if the current value is
lower or untouched if it is higher (i.e. it will be 32768 or higher).
Related: rhbz#1561005
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
It's now packaged as a standalone architecture specific package:
https://bugzilla.redhat.com/show_bug.cgi?id=1551153
Other packagers are encouraged to do the same.
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
A common source of confusion within tuned is the lack of suffix
on the readahead specification in the throughput-performance
tuned.conf. This confusion is resolved, in general, by comparing
the value, for example, to blockdev or lvdisplay output. Avoid
future end-user confusion by adding a comment to the
throughput-performance tuned.conf file, explaining that the default
is in KiB, and noting the allowance of a sector suffix as well.
Signed-off-by: John Pittman <jpittman@redhat.com>
The manpage already exists, but it's empty. So, this commit actually
adds the content. Also, update the AUTHORS, FILES and SEE ALSO sections.
Resolves: rhbz#1548148
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
script.sh has been using variable names in different ways,
in different scopes: when using variables at all. Fix all that.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Profile loading is broken since commit b532e9291d, due to
a small typo in the new function name.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Also fixed cpu-partitioning profile script not to break irqbalance
configuration file in case of defirqaffinity failure.
Resolves: rhbz#1536476
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
Maybe this tool could be dropped, there are better alternatives like
iperf, but for now keeping it for backward compatibility.
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
You can now specify the python runtime using the PYTHON variable.
E.g. you can use
make PYTHON=python3 install
to install tuned modules to the python3 directory and rewrite
shebangs on executable Python files to use Python3.
For some reason this fixes the following errors during mockbuild:
sh: /usr/bin/python: No such file or directory
The versioned macro is provided by python-devel.
This fixes Pylint errors such as the following:
tuned/logs.py:39: [E1003(bad-super-call), TunedLogger.__init__] \
Bad first argument 'self.__class__' given to super()
This prevents infinite recursion errors, see
https://stackoverflow.com/a/18208725
This does introduce name duplication, but when we drop python2 support
in the future, we can use super() without arguments.