#!/bin/bash
#for irq_dir in /proc/irq/[0-9]*; do
#    irq=$(basename "$irq_dir")
    # Skip IRQs that cannot be moved (e.g., IRQ 0, 2)
#    cat "/proc/irq/$irq/smp_affinity"
#done
#for irq_dir in /proc/irq/[0-9]*; do
#    irq=$(basename "$irq_dir")
#    # Skip IRQs that cannot be moved (e.g., IRQ 0, 2)
#    echo -n "irq=$irq "
#    cat "/proc/irq/$irq/effective_affinity_list"
#done
for irq in /proc/irq/*/; do
    name=$(cat $irq/irq_name 2>/dev/null || basename $irq)
    aff=$(cat $irq/smp_affinity_list 2>/dev/null)
    printf "IRQ %-4s affinity=%-10s name=%s\n" $(basename $irq) "$aff" "$name"
done
