1#!/bin/bash
2# Copyright (C) 2020-2022 Intel Corporation.
3# SPDX-License-Identifier: BSD-3-Clause
4
5#Move all IRQs to core 0.
6for i in `cat /proc/interrupts | grep '^ *[0-9]*[0-9]:' | awk {'print $1'} | sed 's/:$//' `;
7do
8    echo setting $i to affine for core zero
9    echo 1 > /proc/irq/$i/smp_affinity
10done
11
12#Move all rcu tasks to core 0.
13for i in `pgrep rcu`; do taskset -pc 0 $i; done
14
15#Change realtime attribute of all rcu tasks to SCHED_OTHER and priority 0
16for i in `pgrep rcu`; do chrt -v -o -p 0 $i; done
17
18#Change realtime attribute of all tasks on core 1 to SCHED_OTHER and priority 0
19for i in `pgrep /1`; do chrt -v -o -p 0 $i; done
20
21#Change realtime attribute of all tasks to SCHED_OTHER and priority 0
22for i in `ps -A -o pid`; do chrt -v -o -p 0 $i; done
23
24echo disabling timer migration
25echo 0 > /proc/sys/kernel/timer_migration
26