Systemd/src/core
Tejun Heo 13c31542cc core: add io controller support on the unified hierarchy
On the unified hierarchy, blkio controller is renamed to io and the interface
is changed significantly.

* blkio.weight and blkio.weight_device are consolidated into io.weight which
  uses the standardized weight range [1, 10000] with 100 as the default value.

* blkio.throttle.{read|write}_{bps|iops}_device are consolidated into io.max.
  Expansion of throttling features is being worked on to support
  work-conserving absolute limits (io.low and io.high).

* All stats are consolidated into io.stats.

This patchset adds support for the new interface.  As the interface has been
revamped and new features are expected to be added, it seems best to treat it
as a separate controller rather than trying to expand the blkio settings
although we might add automatic translation if only blkio settings are
specified.

* io.weight handling is mostly identical to blkio.weight[_device] handling
  except that the weight range is different.

* Both read and write bandwidth settings are consolidated into
  CGroupIODeviceLimit which describes all limits applicable to the device.
  This makes it less painful to add new limits.

* "max" can be used to specify the maximum limit which is equivalent to no
  config for max limits and treated as such.  If a given CGroupIODeviceLimit
  doesn't contain any non-default configs, the config struct is discarded once
  the no limit config is applied to cgroup.

* lookup_blkio_device() is renamed to lookup_block_device().

Signed-off-by: Tejun Heo <htejun@fb.com>
2016-05-05 16:43:06 -04:00
..
.gitignore Move daemon-reload from package %post scripts to file triggers 2015-11-15 18:38:37 -05:00
audit-fd.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
audit-fd.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
automount.c Merge pull request #3170 from poettering/v230-preparation-fixes 2016-05-04 10:46:13 +02:00
automount.h automount: rework propagation between automount and mount units 2016-05-02 16:51:45 +02:00
bus-policy.c util-lib: split out allocation calls into alloc-util.[ch] 2015-10-27 13:45:53 +01:00
bus-policy.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
busname.c Merge pull request #3170 from poettering/v230-preparation-fixes 2016-05-04 10:46:13 +02:00
busname.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
cgroup.c core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
cgroup.h core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
dbus-automount.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-automount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-busname.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-busname.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-cgroup.c core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
dbus-cgroup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-execute.c core: minor coding style fix 2016-04-12 13:43:31 +02:00
dbus-execute.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-job.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-job.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-kill.c tree-wide: add new SIGNAL_VALID() macro-like function that validates signal numbers 2016-04-12 13:43:32 +02:00
dbus-kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-manager.c core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00
dbus-manager.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-mount.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-mount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-scope.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-scope.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-service.c Merge pull request #2569 from zonque/removals 2016-02-10 14:01:46 +01:00
dbus-service.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-socket.c core: introduce activation rate limiting for socket units 2016-04-29 16:27:48 +02:00
dbus-socket.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-swap.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-swap.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-timer.c tree-wide: fall back to now(CLOCK_MONOTONIC) if CLOCK_BOOTTIME unsupported (#3037) 2016-04-17 21:45:42 -04:00
dbus-timer.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-unit.c core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00
dbus-unit.h core,systemctl: add bus API to retrieve processes of a unit 2016-04-22 16:06:20 +02:00
dbus.c core: remove ManagerRunningAs enum 2016-04-12 13:43:30 +02:00
dbus.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
device.c Move no_instances information to shared/ 2016-05-01 19:58:59 -04:00
device.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
execute.c Merge pull request #2760 from ronnychevalier/rc/core_no_new_privileges_seccompv3 2016-03-21 12:57:43 +01:00
execute.h core: drop Capabilities= setting 2016-02-13 11:59:34 +01:00
failure-action.c core: rework reboot parameter logic a bit 2016-04-12 13:43:32 +02:00
failure-action.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
ima-setup.c tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
ima-setup.h tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
job.c core: introduce MANAGER_IS_RELOADING() macro 2016-04-12 13:43:30 +02:00
job.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kill.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
killall.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
killall.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kmod-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kmod-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
load-dropin.c core: don't drop transient drop-ins when loading the rest 2016-04-12 13:43:31 +02:00
load-dropin.h core: rework generator dir logic, move the dirs into LookupPaths structure 2016-04-12 13:43:29 +02:00
load-fragment-gperf.gperf.m4 core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
load-fragment.c core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
load-fragment.h core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
locale-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
locale-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
machine-id-setup.c machine-id-setup: explicitly fsync() the machine ID after writing 2016-04-22 16:06:20 +02:00
machine-id-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
macros.systemd.in rpm: fix %systemd_user_post() macro. 2015-11-22 20:38:05 +01:00
main.c core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
Makefile
manager.c coredump,basic: generalize O_TMPFILE handling a bit 2016-04-22 16:16:53 +02:00
manager.h core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
mount-setup.c core/mount-setup.c: also relabel /dev/shm for selinux (#3039) 2016-04-14 19:14:29 -04:00
mount-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mount.c Merge pull request #3170 from poettering/v230-preparation-fixes 2016-05-04 10:46:13 +02:00
mount.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
namespace.c Remove kdbus custom endpoint support 2016-02-11 22:12:04 +01:00
namespace.h Remove kdbus custom endpoint support 2016-02-11 22:12:04 +01:00
org.freedesktop.systemd1.conf core: Filter by unit name behind the D-Bus, instead on the client side (#3142) 2016-04-29 15:59:51 +02:00
org.freedesktop.systemd1.policy.in.in core: rework policykit hookup 2015-02-18 18:56:27 +01:00
org.freedesktop.systemd1.service
path.c core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
path.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
scope.c Move no_instances information to shared/ 2016-05-01 19:58:59 -04:00
scope.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
selinux-access.c core: prefix selinux messages with "selinux: " 2016-04-21 00:12:29 -04:00
selinux-access.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
selinux-setup.c selinux: use *_raw API from libselinux 2016-03-04 01:58:28 +00:00
selinux-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
service.c core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
service.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
show-status.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
show-status.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
shutdown.c core: rework reboot parameter logic a bit 2016-04-12 13:43:32 +02:00
slice.c Move no_instances information to shared/ 2016-05-01 19:58:59 -04:00
slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
smack-setup.c tree-wide: indentation fixes 2016-02-26 22:23:38 +01:00
smack-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
socket.c core: don't propagate service state to sockets as long as there's still a job for the service queued 2016-05-02 16:41:41 +02:00
socket.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
swap.c Merge pull request #3170 from poettering/v230-preparation-fixes 2016-05-04 10:46:13 +02:00
swap.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
system.conf core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
systemd.pc.in build-sys: move systemd.pc from pkgconfiglibdir back into pkgconfigdatadir 2015-04-21 20:35:17 +02:00
target.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
timer.c core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
timer.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
transaction.c tree-wide: use ERFKILL instead of ESHUTDOWN for "unit masked" 2016-04-16 18:41:34 -04:00
transaction.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
triggers.systemd.in rpm triggers: add note about minimum supported version 2016-04-02 11:35:07 -04:00
umount.c core/mount: Don't unmount initramfs mounts 2016-03-04 15:16:34 +00:00
umount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit-printf.c core: reuse manager_get_runtime_prefix() at more places 2016-04-12 13:43:30 +02:00
unit-printf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit.c core: add io controller support on the unified hierarchy 2016-05-05 16:43:06 -04:00
unit.h Merge pull request #3170 from poettering/v230-preparation-fixes 2016-05-04 10:46:13 +02:00
user.conf core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00