#!/bin/bash

# Copyright Piero Olmeda - AudioLinux  audiolinux@fastmail.fm
# https://www.audio-linux.com
# License: custom - All rights reserved

source /etc/rtpriority/rtirqs.conf

for d in $(seq 1 $DEVICES); do
dev1=DEVICE$d
dev2=$(echo "${!dev1}")
irqs2=$(cat /proc/interrupts | grep $dev2 |  grep -E 'xhci|ehci|snd|en|amdgpu|nvidia'| awk '{print $1}' | sed 's/://')
irqs=$(echo $irqs2)
sed -i "s/IRQ$d=.*/IRQ$d=\"$irqs\"/g" /etc/rtpriority/rtirqs.conf
for i in $irqs; do
if [[ $(echo $dev2 | grep -o '[[:digit:]]*') ]]; then
your_pids=$(ps -eo pid,cmd | grep -v grep | grep irq/$i | awk '{print $1}' | xargs)
else
your_pids=$(ps -eo pid,cmd | grep -v grep | grep $i | awk '{print $1}' | xargs)
fi
for j in $your_pids; do
pri1=PRIORITY$d
pri2=$(echo "${!pri1}")
chrt -f -a -p $pri2 $j
done
done
done
