]> Freerunner's - dotfiles.git/commitdiff
scripts: add some cgroups service scripts
authorAndre Ramnitz <andre.ramnitz@mail.de>
Fri, 4 Sep 2026 11:59:53 +0000 (13:59 +0200)
committerAndre Ramnitz <andre.ramnitz@mail.de>
Tue, 8 Sep 2026 15:44:16 +0000 (17:44 +0200)
dot-local/bin/irq-affinity [new file with mode: 0755]
dot-local/bin/pin-greetd-session [new file with mode: 0755]
dot-local/bin/xdg-debug.sh

diff --git a/dot-local/bin/irq-affinity b/dot-local/bin/irq-affinity
new file mode 100755 (executable)
index 0000000..1dd4796
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+set_pci_irq_affinity() {
+    local pci="$1"
+    local cpu="$2"
+    local dev="/sys/bus/pci/devices/$pci"
+
+    [[ -d "$dev" ]] || return 0
+
+    if [[ -d "$dev/msi_irqs" ]]; then
+        for irqpath in "$dev"/msi_irqs/*; do
+            [[ -e "$irqpath" ]] || continue
+
+            irq="${irqpath##*/}"
+
+            if [[ -w "/proc/irq/$irq/smp_affinity_list" ]]; then
+                echo "$cpu" > "/proc/irq/$irq/smp_affinity_list"
+            fi
+        done
+    else
+        irq="$(<"$dev/irq")"
+
+        if [[ "$irq" =~ ^[0-9]+$ ]] &&
+           [[ "$irq" -gt 0 ]] &&
+           [[ -w "/proc/irq/$irq/smp_affinity_list" ]]; then
+            echo "$cpu" > "/proc/irq/$irq/smp_affinity_list"
+        fi
+    fi
+}
+
diff --git a/dot-local/bin/pin-greetd-session b/dot-local/bin/pin-greetd-session
new file mode 100755 (executable)
index 0000000..6467886
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+CPUSET="0-7,16-23"
+MEMS="0"
+
+# Nur beim Ã–ffnen einer PAM-Session
+[ "$PAM_TYPE" = "open_session" ] || exit 0
+
+# XDG_SESSION_ID sollte von pam_elogind bereits gesetzt worden sein
+[ -n "$XDG_SESSION_ID" ] || exit 0
+
+CG="/sys/fs/cgroup/$XDG_SESSION_ID"
+
+[ -d "$CG" ] || exit 0
+[ -w "$CG/cpuset.cpus" ] || exit 0
+
+printf '%s\n' "$CPUSET" > "$CG/cpuset.cpus" || exit 1
+printf '%s\n' "$MEMS"   > "$CG/cpuset.mems" || exit 1
+
+exit 0
+
index d4cc594c065fdd7e68e1ae5034e051b88cc81dc2..ca1af7b93eb01a4a00f5457f871e5dc4b94c1cbc 100755 (executable)
@@ -9,3 +9,5 @@ echo "DBUS_SESSION_BUS_ADDRESS = $DBUS_SESSION_BUS_ADDRESS"
 echo "XDG_MENU_PREFIX = $XDG_MENU_PREFIX"
 
 echo "QT_QPA_PLATFORMTHEME = $QT_QPA_PLATFORMTHEME"
+
+echo "GTK_USE_PORTAL= $GTK_USE_PORTAL"