- #!/bin/bash
- # This is mainly just a quick picture of sirq's in linux-l-pa 3.14(-3+)
- #
- # by default Linux will set my h/w interrupts to rtprio 50
- # So we will set them [the sirqs/softirq threads] slightly below that. In my example; i have a quad-core AMD Phenom
- # 0-3 is my four cores. There is always a sirq-* for each core.
- #
- # this could probably be done by a tool like rtirq - if it supports that. I've probably
- # end up writing a systemd service file or proper script at some point.
- # softirq RCU [read-copy-write] ... keep rcu highest
- chrt -f -p 49 `pgrep sirq-rcu/0`
- chrt -f -p 49 `pgrep sirq-rcu/1`
- chrt -f -p 49 `pgrep sirq-rcu/2`
- chrt -f -p 49 `pgrep sirq-rcu/3`
- # sirq-sched [migrates other tasks across CPUs] ...you stay high to, with your friend below/together
- chrt -f -p 48 `pgrep sirq-sched/0`
- chrt -f -p 48 `pgrep sirq-sched/1`
- chrt -f -p 48 `pgrep sirq-sched/2`
- chrt -f -p 48 `pgrep sirq-sched/3`
- # sirq-tasklet [timing/mostly interrupt management] ...hangout with your buddy sched
- chrt -f -p 48 `pgrep sirq-tasklet/0`
- chrt -f -p 48 `pgrep sirq-tasklet/1`
- chrt -f -p 48 `pgrep sirq-tasklet/2`
- chrt -f -p 48 `pgrep sirq-tasklet/3`
- # sirq-high [a way to manage/prioritize tasklets?] ...let the highest get attention
- chrt -f -p 47 `pgrep sirq-high/0`
- chrt -f -p 47 `pgrep sirq-high/1`
- chrt -f -p 47 `pgrep sirq-high/2`
- chrt -f -p 47 `pgrep sirq-high/3`
- # sirq-blk [block device device management] ...you can set below that
- chrt -f -p 46 `pgrep sirq-blk/0`
- chrt -f -p 46 `pgrep sirq-blk/1`
- chrt -f -p 46 `pgrep sirq-blk/2`
- chrt -f -p 46 `pgrep sirq-blk/3`
- chrt -f -p 46 `pgrep sirq-blk-pol/0`
- chrt -f -p 46 `pgrep sirq-blk-pol/1`
- chrt -f -p 46 `pgrep sirq-blk-pol/2`
- chrt -f -p 46 `pgrep sirq-blk-pol/3`
- # sirq-net-rx/tx [networking management] ...super low, to avoid interference with audio
- chrt -f -p 14 `pgrep sirq-net-rx/0`
- chrt -f -p 14 `pgrep sirq-net-rx/1`
- chrt -f -p 14 `pgrep sirq-net-rx/2`
- chrt -f -p 14 `pgrep sirq-net-rx/3`
- chrt -f -p 14 `pgrep sirq-net-tx/0`
- chrt -f -p 14 `pgrep sirq-net-tx/1`
- chrt -f -p 14 `pgrep sirq-net-tx/2`
- chrt -f -p 14 `pgrep sirq-net-tx/3`
- exit 0