Compare commits

..

No commits in common. "main" and "v1.4" have entirely different histories.
main ... v1.4

9 changed files with 30 additions and 155 deletions

26
debian/changelog vendored
View file

@ -1,29 +1,3 @@
tileos-system-adjustments (1.6.1~tileos) unstable; urgency=medium
* Remove absolete 80-io-tweaks.rules
* Move Zram settings from udev to zram-generator.conf
-- Aleksey Samoilov <samoilov.lex@gmail.com> Mon, 28 Apr 2025 19:47:43 +0400
tileos-system-adjustments (1.6.0~tileos) unstable; urgency=medium
* Update polkit rules
-- Aleksey Samoilov <samoilov.lex@gmail.com> Tue, 09 Apr 2024 15:48:39 +0400
tileos-system-adjustments (1.5.1~tileos) unstable; urgency=medium
* Fix comments
-- Aleksey Samoilov <samoilov.lex@gmail.com> Thu, 07 Mar 2024 11:27:49 +0400
tileos-system-adjustments (1.5~tileos) unstable; urgency=medium
* Disable Kyber scheduler for SSD and set mq-deadline
* Disable scheduler for NVMe
-- Aleksey Samoilov <samoilov.lex@gmail.com> Fri, 16 Feb 2024 17:55:41 +0400
tileos-system-adjustments (1.4~tileos) unstable; urgency=medium tileos-system-adjustments (1.4~tileos) unstable; urgency=medium
* Add Zram config * Add Zram config

View file

@ -1,3 +1,2 @@
/etc /etc
/var /var
/usr

View file

@ -1,12 +1,12 @@
# Set the maximum watches on files # Set the maximum watches on files
fs.inotify.max_user_watches = 600000 fs.inotify.max_user_watches = 600000
# For efficiency run-time is transferred between the global pool and CPU local For efficiency run-time is transferred between the global pool and CPU local
# "silos" in a batch fashion. This greatly reduces global accounting pressure "silos" in a batch fashion. This greatly reduces global accounting pressure
# on large systems. The amount transferred each time such an update is required on large systems. The amount transferred each time such an update is required
# is described as the "slice". is described as the "slice".
# Larger slice values will reduce transfer overheads, while smaller values allow Larger slice values will reduce transfer overheads, while smaller values allow
# for more fine-grained consumption. for more fine-grained consumption.
kernel.sched_cfs_bandwidth_slice_us = 3000 kernel.sched_cfs_bandwidth_slice_us = 3000
# This file contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by mmap, mprotect, and madvise, and also when loading shared libraries. # This file contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by mmap, mprotect, and madvise, and also when loading shared libraries.

View file

@ -1,5 +0,0 @@
[zram0]
compression-algorithm = zstd lz4 (type=huge)
zram-size = ram
swap-priority = 100
fs-type = swap

View file

@ -1,3 +1,9 @@
# Prefer to recompress only huge pages. This will result in additional memory
# savings, but may slightly increase CPU load due to additional compression
# overhead.
ACTION=="add", KERNEL=="zram[0-9]*", ATTR{recomp_algorithm}="algo=lz4 priority=1", \
RUN+="/sbin/sh -c echo 'type=huge' > /sys/block/%k/recompress"
TEST!="/dev/zram0", GOTO="zram_end" TEST!="/dev/zram0", GOTO="zram_end"
# Since ZRAM stores all pages in compressed form in RAM, we should prefer # Since ZRAM stores all pages in compressed form in RAM, we should prefer
@ -7,4 +13,10 @@ TEST!="/dev/zram0", GOTO="zram_end"
# the disk. # the disk.
SYSCTL{vm.swappiness}="150" SYSCTL{vm.swappiness}="150"
# Optimal value for games, so sets not too aggressive, but also not too weak
# kswapd behavior, as described there:
# https://www.reddit.com/r/linux_gaming/comments/vla9gd/comment/ie1cnrh/
SYSCTL{vm.watermark_scale_factor}="125"
SYSCTL{vm.watermark_boost_factor}="0"
LABEL="zram_end" LABEL="zram_end"

View file

@ -1,6 +1,7 @@
# disable scheduler for NVMe # set scheduler for NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none" ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/scheduler}="kyber"
# set scheduler for SSD # set scheduler for SSD
ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/rotational}=="0", KERNEL=="sd?", ATTR{queue/scheduler}="kyber"
# set scheduler for HDD # set scheduler for rotating disks and SD cards
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq" ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="mmcblk?", ATTR{queue/scheduler}="bfq"

View file

@ -0,0 +1,3 @@
# Forced I/O multithreading
ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/rq_affinity}="1"
ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/iosched/fifo_batch}=="32"

View file

@ -1,76 +0,0 @@
// Mounting, checking, etc. of internal drives
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" ||
action.id == "org.freedesktop.udisks2.encrypted-unlock-system" ||
action.id == "org.freedesktop.udisks2.filesystem-fstab") &&
subject.active == true && subject.local == true &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});
// Change CPU Frequency scaling
polkit.addRule(function(action, subject) {
if ((action.id == "org.gnome.cpufreqselector" ||
action.id == "org.mate.cpufreqselector" ) &&
subject.active == true && subject.local == true &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});
// Setting the clock
polkit.addRule(function(action, subject) {
if ((action.id == "org.gnome.controlcenter.datetime.configure" ||
action.id == "org.kde.kcontrol.kcmclock.save" ||
action.id == "org.freedesktop.timedate1.set-time" ||
action.id == "org.freedesktop.timedate1.set-timezone" ||
action.id == "org.freedesktop.timedate1.set-local-rtc" ||
action.id == "org.freedesktop.timedate1.set-ntp" ||
action.id == "com.canonical.controlcenter.datetime.configure" ||
action.id == "org.mate.settingsdaemon.datetimemechanism.settime") &&
subject.active == true && subject.local == true &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});
// Update already installed software
polkit.addRule(function(action, subject) {
if (action.id == "org.debian.apt.upgrade-packages" &&
subject.active == true && subject.local == true &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});
// Printer administration
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.opensuse.cupspkhelper.mechanism.") == 0 &&
subject.active == true && subject.local == true &&
(subject.isInGroup("sudo") || subject.isInGroup("lpadmin"))) {
return polkit.Result.YES;
}
});
// Disable hibernate by default in Ubuntu
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.upower.hibernate" ||
action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.handle-hibernate-key" ||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions") {
return polkit.Result.NO;
}
});
// Allow admins to set the hostname,locale,keyboard,date/time without prompting
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.locale1.set-locale" ||
action.id == "org.freedesktop.locale1.set-keyboard" ||
action.id == "org.freedesktop.hostname1.set-static-hostname" ||
action.id == "org.freedesktop.hostname1.set-hostname") &&
subject.active == true && subject.local == true &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});

View file

@ -1,39 +1,6 @@
[Mounting, checking, etc. of internal drives] [Mounting, checking, etc. of internal drives]
Identity=unix-group:admin;unix-group:sudo Identity=unix-group:admin;unix-group:sudo
Action=org.freedesktop.udisks2.filesystem-mount-system;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab; Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*;org.freedesktop.udisks2.filesystem-mount-system;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab;
ResultActive=yes ResultAny=auth_admin
ResultInactive=auth_admin
[Change CPU Frequency scaling]
Identity=unix-group:admin;unix-group:sudo
Action=org.gnome.cpufreqselector;org.mate.cpufreqselector
ResultActive=yes
[Setting the clock]
Identity=unix-group:admin;unix-group:sudo
Action=org.gnome.clockapplet.mechanism.*;org.gnome.controlcenter.datetime.configure;org.kde.kcontrol.kcmclock.save;org.freedesktop.timedate1.set-time;org.freedesktop.timedate1.set-timezone;org.freedesktop.timedate1.set-local-rtc;org.freedesktop.timedate1.set-ntp;com.canonical.controlcenter.datetime.configure;org.mate.settingsdaemon.datetimemechanism.settime
ResultActive=yes
[Update already installed software]
Identity=unix-group:admin;unix-group:sudo
Action=org.debian.apt.upgrade-packages
ResultActive=yes
[Printer administration]
Identity=unix-group:lpadmin;unix-group:admin;unix-group:sudo
Action=org.opensuse.cupspkhelper.mechanism.*
ResultActive=yes
[Disable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=no
[Disable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=no
[Allow admins to set the hostname,locale,keyboard,date/time without prompting]
Identity=unix-group:admin;unix-group:sudo
Action=org.freedesktop.locale1.set-locale;org.freedesktop.locale1.set-keyboard;org.freedesktop.hostname1.set-static-hostname;org.freedesktop.hostname1.set-hostname
ResultActive=yes ResultActive=yes