From c04b7b520a03ee020fa658c502b185a5a9857301 Mon Sep 17 00:00:00 2001 From: Debian Live user Date: Fri, 28 Apr 2023 21:54:34 -0400 Subject: Remove all obsolete files Perhaps these are not all completely obsolete; some might serve as starting points for unimplemented features. In particular, 'fireslay' may be useful, and also 'your-fired.sh', but these are not in working order. (They worked at one point, but major changes in the other parts of this code base should have broken them.) Hopefully, this commit message will be enough to locate them if ever required! --- firestart.redux | 57 ---------------- src/cgroup-show-each-new-process | 51 --------------- src/firefox-io-slayer | 105 ------------------------------ src/firefox@.service.in | 0 src/fireslay | 38 ----------- src/slice | 47 -------------- src/sliceuser | 13 ---- src/sliceweasel | 15 ----- src/your-fired.sh | 136 --------------------------------------- 9 files changed, 462 deletions(-) delete mode 100755 firestart.redux delete mode 100755 src/cgroup-show-each-new-process delete mode 100755 src/firefox-io-slayer mode change 100755 => 100644 src/firefox@.service.in delete mode 100755 src/fireslay delete mode 100755 src/slice delete mode 100755 src/sliceuser delete mode 100755 src/sliceweasel delete mode 100644 src/your-fired.sh diff --git a/firestart.redux b/firestart.redux deleted file mode 100755 index 59d8f8a..0000000 --- a/firestart.redux +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -die() { printf "%s: Error: %s\n" "$0" "$*" >&2; exit 1; } - -# Test DEVICE WRITE OPS BY WRITEOPS -test_write_ops() -{ - if ! [ -e "$1" ] - then - mkdir -p "$(dirname "$1")" - sync - begin=$(date +%s%N) - dd if=/dev/urandom of="$DIR"/urandom.out bs=1M count=300 - sync - end=$(date +%s%N) - ops=$(( (end - begin) / 1000000000 )) - rm "$DIR"/urandom.out - echo "$ops" > "$1" - fi - cat "$1" -} - -CMD=firefox -UNIT=$CMD -DIR=~/.mozilla -READ_OPS=1G -WRITE_OPS=$READ_OPS -CONFDIR=$HOME/.config/firestart - -if [ -e "$CONFDIR"/conf ] -then - . "$CONFDIR"/conf -fi - -WRITE_OPS=$(test_write_ops "$CONFDIR"/diskspeed.dat) -WRITE_OPS=${WRITE_OPS%.*} -READ_OPS=$WRITE_OPS - -[ -e "$DIR" ] || die "does not exist: $DIR" -[ -d "$DIR" ] || die "not a directory: $DIR" - -DEV=$(echo $(findmnt --target "$DIR" -o MAJ:MIN -n)) -[ "$DEV" ] || die "could not determine backing device for $DIR" - -IOReadIOPSMax="$DEV $READ_OPS" -IOWriteIOPSMax="$DEV $WRITE_OPS" - -sed -e "s/^IOReadIOPSMax *=.*/IOReadIOPSMax = $IOReadIOPSMax/" \ - -e "s/^IOWriteIOPSMax *=.*/IOWriteIOPSMax = $IOWriteIOPSMax/" \ - < firefox@.service.in > firefox@.service - -set -x - -systemctl --user link "$PWD"/firefox@.service -systemctl --user link "$PWD"/ioslay@.service -systemctl --user daemon-reload -systemctl --user start "firefox@$DISPLAY" diff --git a/src/cgroup-show-each-new-process b/src/cgroup-show-each-new-process deleted file mode 100755 index d1473f1..0000000 --- a/src/cgroup-show-each-new-process +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -cgroup=${1:-firefox~$(id -u)} - -show_new_pids() -{ - if [ -e "$procs" ] - then - sort < "$procs" > pids - if [ -e old-pids ] - then - comm -13 old-pids pids - else - cat pids - fi - mv pids old-pids - fi -} - -show_pid_comm() -{ - local pid comm - pid=$1 - if 2>/dev/null read comm < /proc/$pid/comm - then - echo "$pid $comm" - else - echo $pid '(disappeared)' >&2 - fi -} - -each_line() -{ - local line - while read line - do "$@" "$line" - done -} - -RUNTIME_DIR=$(mktemp -d) || exit -trap 'cd /; rm -rf "$RUNTIME_DIR"' EXIT -cd "$RUNTIME_DIR" - -enable -f /usr/lib/bash/sleep sleep -procs=/sys/fs/cgroup/$cgroup/cgroup.procs - -while true -do - show_new_pids - sleep 1 -done | each_line show_pid_comm - diff --git a/src/firefox-io-slayer b/src/firefox-io-slayer deleted file mode 100755 index 56ab849..0000000 --- a/src/firefox-io-slayer +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash - -UNIT_NAME=ioslay -if [ "$1" = launch-unit ] -then - if systemctl --user is-active "$UNIT_NAME" - then systemctl --user restart "$UNIT_NAME" - else systemd-run --user -u "$UNIT_NAME" "$0" - fi - exit -fi - -if [ -e /usr/lib/bash/sleep ] -then - enable -f /usr/lib/bash/sleep sleep -fi - -export NOTICE=y -noticeLOG() { [ "$NOTICE" ] || return; echo "Notice: $*" >&2; } -debugLOG() { [ "$DBG" ] || return; echo "Debug: $*" >&2; } - -. sliceweasel.lib.sh - -vkill() -{ - if [ $# = 0 ] - then - return - fi - ( - if [ "$(id -u)" = 0 ] - then sudo= - else sudo=sudo - fi - set -x - ps u "$@" - $sudo kill "$@" - ) -} - -slay_slayer() -{ - if [ "$ioslay" ] - then - children=$(for pid in $ioslay; do pgrep -P $ioslay; done) - grandchildren=$(for pid in $children; do pgrep -P $pid; done) - vkill $ioslay $children $grandchildren - fi -} - -GROUP_BASENAME=firefox - -group_procs=$(get_firefox_cgroup_procs) - -ioslay= -lastprocs= -SIGNALLED= -trap 'SIGNALLED=y' SIGINT SIGTERM SIGHUP -while [ ! "$SIGNALLED" ] -do - if ! [ -e "$group_procs" ] - then - [ "$warned" ] || echo "Warning: firefox not running or cgroup not found" >&2 - warned=y - else - if [ "$warned" ] - then - echo "Found firefox cgroup: $group_procs" >&2 - warned= - fi - read -N 1000100 procs < "$group_procs" - if [ "$procs" ] - then - set -- - for pid in $procs - do - read comm < /proc/$pid/comm - case "$comm" in - 'Isolated Web Content' | 'Web Content' | 'Isolated Web Co') - set -- "$@" "$pid" - debugLOG "accept /proc/$pid/comm $comm" - ;; - *) - debugLOG "reject /proc/$pid/comm $comm" - esac - done - - # echo "pids: ($*|$(echo $procs))" >&2 - if [ "$lastargs" != "$*" ] - then - slay_slayer - wait $ioslay - if [ $# -gt 0 ] - then - ioslay-firefox "$@" & - ioslay=$! - noticeLOG "Launched ioslay-firefox[$ioslay] $*" - fi - fi - lastargs=$* - fi - fi - sleep 1 -done -slay_slayer diff --git a/src/firefox@.service.in b/src/firefox@.service.in old mode 100755 new mode 100644 diff --git a/src/fireslay b/src/fireslay deleted file mode 100755 index 3c68ad5..0000000 --- a/src/fireslay +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -set -e -. sliceweasel.lib.sh - -is_web_content() -{ - local comm state - read comm < /proc/"$1"/comm && [ "$comm" = 'Web Content' ] && - read _ _ state _ < /proc/"$1"/stat && [ "$state" != Z ] || return -} - -web_content_pids() -{ - while read pid - do - if is_web_content $pid - then - echo $pid - fi - done < $FIREFOX_GROUP_PROCS -} - -FIREFOX_GROUP_PROCS=$(get_firefox_cgroup_procs) - -[ -e "$FIREFOX_GROUP_PROCS" ] || die "Firefox group not found ($FIREFOX_GROUP_PROCS)" - -set -- $(web_content_pids) - -if [ $# = 0 ] -then - exit -fi - -( - set -x - ps $* >&2 - kill $* -) diff --git a/src/slice b/src/slice deleted file mode 100755 index 44ae13e..0000000 --- a/src/slice +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -default_percent='50' -keep_env=(XAUTHORITY DISPLAY) -set -e - -usage() -{ - cat <&2; exit 1;; - *.*%) percent=${1%.*} ;; - *%) percent=${1%\%} ;; -esac -[ "$percent" -ge 0 ] -[ "$percent" -le 100 ] - -shift -case "$1" in - --) shift ;; -esac -unit_name=$1 - -keep_env_opts=() -for v in "${keep_env[@]}" -do - keep_env_opts+=(-E "${!v}") -done - -systemd-run -u "$unit_name" \ - "${keep_env_opts[@]}" - "$0" "$@" - "$@" - diff --git a/src/sliceuser b/src/sliceuser deleted file mode 100755 index 16d441f..0000000 --- a/src/sliceuser +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -. sliceweasel.lib.sh - -set -e -IO_ROOT_DIR=$HOME/.cache/mozilla/firefox/ -[ -d "$IO_ROOT_DIR" ] -[ "$(id -un)" = 0 ] && AS_ROOT= || AS_ROOT='sudo --' - -group=$(get_current_group) -set -x -set_max_ratio "$group" memory 3/4 -set_max_ratio "$group" io 8/10 - diff --git a/src/sliceweasel b/src/sliceweasel deleted file mode 100755 index f9df2c8..0000000 --- a/src/sliceweasel +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -. sliceweasel.lib.sh - -set -e -IO_ROOT_DIR=$HOME/.cache/mozilla/firefox/ -[ -d "$IO_ROOT_DIR" ] -[ "$(id -un)" = 0 ] && AS_ROOT= || AS_ROOT='sudo --' - -group=/sys/fs/cgroup/user.slice/user-$(id -u).slice/firefox -join_group "$group" -set_max_ratio "$group" memory 1/2 -set_max_ratio "$group" io 7/10 -exec firefox "$@" - - diff --git a/src/your-fired.sh b/src/your-fired.sh deleted file mode 100644 index 59efaf7..0000000 --- a/src/your-fired.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/bash - -WEB_CONTENT_OOM_ADJ=500 -FIREFIX_REPEAT_INTERVAL=5 - -ploop() -{ - local p - for p in /proc/[0-9]* - do - "$@" - done -} - -match_parent() -{ - # This isn't a file to which we will write (we write to the child's - # oom_score_adj), but this ignores processes we don't own. - 2>/dev/null [ -w "$p"/oom_score_adj ] || return - - local stat - 2>/dev/null read stat < "$p"/stat || return - case "$stat" in - *") "?" $1 "*) echo "${p##*/}" ;; - esac -} - -match_comm() -{ - local comm - 2>/dev/null read comm < "$p"/comm || return - [ "$comm" = "$1" ] && echo "${p##*/}" -} - -firefix() -{ - parent=$1 - read parent_oom_score < /proc/$parent/oom_score - read parent_oom_score_adj < /proc/$parent/oom_score_adj - - for child in $(ploop match_parent $parent) - do - 2>/dev/null read comm < /proc/$child/comm || continue - [ "$comm" = 'Web Content' ] || continue - - read oom_score < /proc/$child/oom_score - read oom_score_adj < /proc/$child/oom_score_adj - - want_adj=$((parent_oom_score_adj + ${WEB_CONTENT_OOM_ADJ:-500})) - if [ "$want_adj" -gt "$oom_score_adj" ] - then - printf 'Setting oom_score_adj for pid=%d to %d (from %d)\n' $child $want_adj $oom_score_adj >&2 - printf '%d\n' "$want_adj" > /proc/$child/oom_score_adj - fi - done -} - -firefix_all() -{ - for parent in $(ploop match_comm firefox-bin) - do - firefix $parent & - done - wait -} - -firefix_all_forever() -{ - while true - do - firefix_all - sleep ${FIREFIX_REPEAT_INTERVAL:-5} - done -} - -unit_file() -{ - cat < "$unit_file" - - $systemctl daemon-reload - $systemctl enable "$unit_file_name" - $systemctl restart "$unit_file_name" - $systemctl status "$unit_file_name" -} - -usage() -{ - echo "Usage: $0 " >&2 -} - -enable -f /usr/lib/bash/sleep sleep 2>/dev/null || true - -case "$*" in - forever) firefix_all_forever ;; - install) install_self firefixer "$0" forever 'Firefixer - adjust firefox OOM scores';; - once) firefix_all ;; - -h|--help) usage; exit ;; - *) usage; exit 1 ;; -esac -- cgit v1.2.3