Ulatency is a daemon that controls how the Linux kernel will spend it's resources on the running processes. It uses dynamic cgroups to give the kernel hints and limitations on processes.
It strongly supports the lua scripting language for writing rules and the scheduler code.
Kernel options requires:
PROC_EVENTS=y CONFIG_CGROUPS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_MEM_RES_CTLR=y CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y CONFIG_CFQ_GROUP_IOSCHED=y
It is provided both in ArchAudio/testing repository and AUR:
yaourt -S ulatencyd
To strat ulatencyd:
# /etc/rc.d/ulatencyd start
If you want ulatencyd start on boot add ulatencyd in DAEMONS section in /etc/rc.conf.
To verify that it works:
Some settings are adjustable in /etc/ulatencyd/ulatencyd.conf and the cgroups that will be used can be changed in /etc/ulatencyd/cgroups.conf