slv-irq-tuninglisted
Install: claude install-skill ValidatorsDAO/slv
# SLV IRQ & Network Tuning Skill
Removes NIC IRQ imbalance and applies Solana-friendly kernel parameters. Runs as part of `slv v init` / `slv r init` after the SSH connection check, alongside SMT disable and performance boost.
## What it applies
| # | Item | Effect | Reboot |
|---|------|--------|--------|
| 1 | NIC IRQ 1:1 pinning | Distributes NET_RX softirq evenly across all CPUs | No |
| 2 | RPS/XPS enable | Software-level packet distribution | No |
| 3 | NIC ring buffer → 8192 (max) | Prevents packet drops during bursts | No |
| 4 | NVMe queues = ncores | Stops queues from being assigned to offline CPUs | **Yes** |
| 5 | sysctl: UDP/TCP buffers 128MB | Prevents drops on Shredstream / gRPC | No |
| 6 | sysctl: vm.swappiness → 1 | Avoids swapping under memory pressure | No |
| 7 | sysctl: netdev_max_backlog → 50000 | Prevents NIC → kernel queue overflow | No |
| 8 | THP (Transparent Huge Pages) → never | Avoids latency spikes | No |
| 9 | ulimit nofile → 1000000 | Prevents fd exhaustion | No (new sessions only) |
## Related ansible playbooks
- `ansible/cmn/irq_tune.yml` — applies items 1-9 above
- `ansible/cmn/files/vs2-irq-tune.sh` — re-applies NIC IRQ pin + RPS/XPS + ring + THP at boot (systemd oneshot)
- `ansible/cmn/files/vs2-irq-tune.service` — systemd unit for the above
- `ansible/cmn/files/99-vs2-solana.conf` — sysctl parameters
- `ansible/cmn/files/99-vs2-solana-limits.conf` — `/etc/security/limits.d/`
- `ansible/cmn/files/vs2-limits.conf` — systemd `DefaultLi