1
0
Fork 0
Commit graph

848 commits

Author SHA1 Message Date
Jaroslav Škarvada
de880346fa
new release (2.8.0)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-26 16:55:04 +02:00
Jaroslav Škarvada
f180a80013
bootloader: workaround for adding tuned_initrd to new kernels on restart
This will add tuned_initrd to newly installed kernels upon Tuned
restart. It's workaround for rhbz#1442117.

Resolves: rhbz#1441797

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-14 00:02:34 +02:00
Jaroslav Škarvada
8c34b7384e
builtin functions: add strip
The strip functions makes string from all arguments and
expands to its stripped version.

Also used in the cpu-partitioning profile to strip output
of the 'mktemp -d' command.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-13 23:23:58 +02:00
Jaroslav Škarvada
8cde3e1b3c
cpu-partitioning: use tuna for cores isolation
Users can switch to Tuned if they need process blacklisting
(i.e. marking of processes which are allowed to run on
isolated cores). This will be very probably made the default
in next Tuned release.

Related: rhbz#1403309

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-13 21:51:46 +02:00
Jaroslav Škarvada
c7e40efb74 Merge pull request #33 from olysonek/execute_fix
plugin_net: Fix invocation of execute()
2017-04-13 15:55:19 +02:00
Ondřej Lysoněk
da630790ef plugin_net: Fix invocation of execute()
Fix an invocation of execute() after its API changed.

Reproducer:
Run tuned with the following profile, and you'll see error messages
'tuned.utils.commands: Executing ethtool error: ethtool: bad command line argument(s)'
in the log. Replace 'enp0s25' with your ethernet interface:

[net]
devices=enp0s25
coalesce=rx-usecs 4

Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
2017-04-13 15:38:44 +02:00
Jaroslav Škarvada
191785a054
scheduler: fix more python-linux-procfs tracebacks
Fixes traceback if the queried process disappears.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-12 16:27:53 +02:00
Jaroslav Škarvada
cdefe91ee1
scheduler: do not traceback if process dissapears during enumeration
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-12 15:52:52 +02:00
Jaroslav Škarvada
3023c9e860
systemd: added support for older systemd CPUAffinity syntax
Older systemd (systemd-219 tested) doesn't support commas as delimiters.
It also doesn't support ranges (e.g. 2-5). So always write unpacked
CPU list and use spaces as delimiters. Also fixed possible traceback
in case /etc/systemd/system.conf is empty (it's unlikely to happen).

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-11 19:28:59 +02:00
Jaroslav Škarvada
94b7fdd41d
builtin functions: parser not traceback if func expands to empty string
Fixes the following:
[variables]
v=${f:f1:}

if 'f1' expands to empty string it doesn't traceback now.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-11 17:27:43 +02:00
Jaroslav Škarvada
e8f42a2c3f
bootloader: improved regex for /boot location detection
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-11 16:08:03 +02:00
Jaroslav Škarvada
8442dabf54
bootloader: work with /boot which is not on separate partition
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-11 15:40:05 +02:00
Jaroslav Škarvada
ac78f90c77
scheduler: added support for cores isolation
Plugin scheduler now can do cores isolation on its own, Tuna is
not needed for it, e.g.:

[scheduler]
isolated_cores=2-4
ps_blacklist=.*pmd.*;.*PMD.*;^DPDK;.*qemu-kvm.*

It will isolate cores 2-4, it will ignore processes which matched
ps_blacklist regexes. Multiple regexes can be separated by ';'.
Quoted semicolon, i.e. '\;' is taken literally.

It also supports 'ps_whitelist' which is by default set to '.*'.

It takes all processes which matches ps_whitelist than it removes
those which matches ps_blacklist and move them out of the
isolated_cores. When the profile is unloaded it allows all matching
processes to run on all cores.

It changes processes affinities, threads affinities, IRQs affinities
and it sets default_smp_affinity for IRQs.

Also cpu-partitioning profile has been switched from Tuna to this
mechanism.

Resolves: rhbz#1403309

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-07 17:46:32 +02:00
Jaroslav Škarvada
244917ec41
unit: options are processed in the order there were defined
Now all units (e.g. [variables]) preserve order of options, e.g.
[variables]
c=1
b=${c}
a=${b}

The ${a} now correctly expands to '1' and not to '${b}'.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-06 10:56:18 +02:00
Jaroslav Škarvada
c4c7387978
builtin functions: fixed parser to correctly skip quoted vars / funcs
Now it skips:
\${VAR}
\${f:FUNC}

Instead of:
\${f:FUNC\}

This second form is now not supported.

Also simplified the parser.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-06 10:50:09 +02:00
Jaroslav Škarvada
a1b9e60644
builtin functions: added virt_check function and support expansion in include
The virt_check builtin function expands to the first argument if
running inside virtual machine, otherwise it expands to the second
argument (when on bare metal or in case of error). It uses virt-what
as a backend.

So now the following can be used to lower fragmentation of Tuned profiles:

[main]
include=virtual-${f:virt_check:guest:host}

So it will include virtual-guest if running inside virtual machine,
otherwise it includes virtual-host.

Resolves: rhbz#1426654

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-04 15:11:45 +02:00
Jaroslav Škarvada
9a9afb6ef6
builtin functions: improved parser
Parser rewritten to use pushdown automaton, now it can correctly parse
e.g. the following:

[variables]
cores1=2-5
isolated_cores=${f:cpulist_pack:${f:cpulist_unpack:${cores1}}},${f:cpulist_unpack:6-8}

I.e. nested functions are no problem now, multiple functions on the same
level also works and it correctly skips unexpanded variables. It's also
possible to prevent function expansion by escaping:

v=\${f:f1\}

Variables expansion could be now probably also moved to this automaton and
all could be expanded in one step, but for now keeping it as is (i.e. two
steps expansion).

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-04 13:52:51 +02:00
Jaroslav Škarvada
b2cc6189f8
profiles: consolidated summaries
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-03 22:52:18 +02:00
Jaroslav Škarvada
76e7805276
man: updated tuned-main.conf manual page
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-03 18:21:38 +02:00
Jaroslav Škarvada
0e7933ff0b
variables: support inheritance of variables
resolves: rhbz#1374168

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-03 17:01:13 +02:00
Jaroslav Škarvada
df9aa2f5c4
With systemd don't do full rollback on shutdown / reboot
With systemd full rollback is done if Tuned is terminated by user or profile
is changed. It is not done if Tuned is terminated due to system
shutdown / reboot. Without systemd full rollback is done only if profile
is changed.

Renamed profile_switch parameter to full_rollback where appropriate.

Also fixed various checks for command not found.

Resolves: rhbz#1421286

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-04-01 12:36:43 +02:00
Jaroslav Škarvada
b0984ed4e3
nfv: improved wording in readme of nfv trampoline package
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-31 10:44:02 +02:00
Jaroslav Škarvada
35e803ae0c
spec: relaxed tight profile dependencies
There is no need for profiles to requires exact NVR of the engine,
or other profiles, relaxed it to NV (i.e. only name, version requirement,
but no release requirement).

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 17:45:28 +02:00
Jaroslav Škarvada
a952845bf1
desktop: fixed typo in profile summary
Resolves: rhbz#1421238

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 17:00:26 +02:00
Jaroslav Škarvada
ad8af6aa12
bootloader: do not uninstall initrd if not previously installed
It fixes traceback when unapplying bootloader plugin tunig and there
is no initrd specified.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 16:44:54 +02:00
Jaroslav Škarvada
1a100c9c7b
profiles: fixed assert for unset isolated_cores
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 16:29:49 +02:00
Jaroslav Škarvada
9e2b240ffb
assert_non_equal: fixed condition
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 16:22:26 +02:00
Jaroslav Škarvada
6c3fd2b79e
profiles: added check for unset isolated_cores
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 16:14:06 +02:00
Jaroslav Škarvada
1623ac4a85
assertion_non_equal: improved logging for better readability
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 16:09:53 +02:00
Jaroslav Škarvada
d65d6405db
functions: added assertion_non_equal
This function takes three arguments:
etxt - the text to be logged if the assertion fails
var1 - first variable to compare
var2 - seconf variable to compare

The function compares 'var1' and' var2'. If they match it logs 'etxt' and
raises exception which will abort profile loading.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 15:55:49 +02:00
Jaroslav Škarvada
42ab576ecf
defirqaffinity: added some syntax checks
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 15:47:04 +02:00
Jaroslav Škarvada
d8b925ae65
realtime: fixed misleading error message if no isolated cores are set
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 15:07:49 +02:00
Jaroslav Škarvada
bb2fe7440d
variables: fixed parsing of function parameters containing undefined variables
Fixed parsing of e.g.:
${f🅰️${var1}:${var2}}

If var1 wasn't defined it was incorrectly parsed as:
f🅰️${var1

I.e. it resulted in invalid number of parameters error, as the
called function was missing the second parameter.

Now with bot variables undefined it parses as:
f🅰️${var1}:${var2}

I.e. it resulted in correct number of parameters even with
undefined variables.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 14:56:44 +02:00
Jaroslav Škarvada
f104dca756
realtime: correctly log error message about no isolated cores set
Error message about no isolated cores set wasn't displayed,
because the current plugin_script code only logs messages written
to STDERR.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 13:49:35 +02:00
Jaroslav Škarvada
a287f6509a
nfv: fixed building of tuned-profiles-nfv package
The tuned-profiles-nfv is kept for backward compatibility.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 12:08:36 +02:00
Jaroslav Škarvada
1026545936 Split tuned-profiles-nfv to host and guest
Resolves: rhbz#1413111

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-30 11:52:23 +02:00
Jaroslav Škarvada
d008f960b0 Merge pull request #31 from olysonek/spindown
disk: Don't apply lower spindown value if drive has spun down
2017-03-28 18:13:07 +02:00
Ondřej Lysoněk
fe92ca56de disk: Delay a spindown change instead of suppressing it
After this change, any delayed changes of spindown are applied
as soon as the drive becomes active.

Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
2017-03-28 17:06:55 +02:00
Ondřej Lysoněk
c50f1b9604 disk: Don't apply lower spindown value if drive has spun down
Don't run 'hdparm -S' with a lower spindown value than previously
applied, if the drive has already spun down. Executing the command
in that case makes the drive spin up with some HDDs.

Resolves https://github.com/redhat-performance/tuned/issues/1

Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
2017-03-28 15:23:09 +02:00
Jaroslav Škarvada
ef53b0696f Merge pull request #29 from olysonek/profile_apply_pr
Log errors when applying a profile fails
2017-03-27 14:32:53 +02:00
Ondřej Lysoněk
4acae0a356 Log errors when applying a profile fails
Log errors when applying a profile fails and also log explicitly
when we're trying to load the previously applied profile.

Resolves: rhbz#1434360

Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
2017-03-27 10:38:46 +02:00
Jaroslav Škarvada
3ca7cfceb1
realtime-virtual-host: accommodate new ktimersoftd thread
Patch provided by Luiz Capitulino <lcapitulino@redhat.com>

Resolves: rhbz# 1332563

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-21 10:43:58 +01:00
Jaroslav Škarvada
a50d5e0237
assertion: fixed name shown in the log
Previosly it incorrectly shows 'exec' instead of 'assertion' in the
logs.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-21 09:45:06 +01:00
Jaroslav Škarvada
e052fd14a1
cpulist_present: explicitly sorted present CPUs
Resolves: rhbz#1432240

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-21 09:38:33 +01:00
Jaroslav Škarvada
8ddd7acb40
plugin_scheduler: fixed initialization
resolves: rhbz#1433496

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-17 20:37:05 +01:00
Jaroslav Škarvada
ceebc4a7c1
powertop2tuned: used UTF-8 encoding
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-15 14:09:50 +01:00
Jaroslav Škarvada
929c4ced7f powertop2tuned: added diacritics to credits
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2017-03-15 13:41:43 +01:00
Jaroslav Škarvada
c381b6a073 Merge pull request #28 from olysonek/policy
Allow running verify_profile_ignore_missing to all users
2017-03-15 13:20:20 +01:00
Ondřej Lysoněk
834dae9326 Allow running verify_profile_ignore_missing to all users
The policy for running the 'verify_profile_ignore_missing' D-Bus method
was missing, so only root could run it. This commit adds the policy, so
that it is the same as the policy for regular 'verify_profile'.

Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
2017-03-15 13:10:33 +01:00
Jaroslav Škarvada
92d558b870 Merge pull request #27 from olysonek/script_hotplug_pr
Introduce script_pre and script_post options
2017-03-14 21:15:39 +01:00