У меня есть linux 3.10.0-957.el7.x86_64, ниже показан grub.cfg:
isolcpus=1,2,3 nohz_full=1,2,3 rcu_nocbs=1,2,3 irqaffinity=0 selinux=0 audit=0 intel_idle.max_cstate=0 idle=poll processor.max_cstate=0 selinux=0 LANG=en_US.UTF-8 skew_tick=1
ядро 2 и ядро 3 имеют приложение, которое выполняет проверку петли занятости в пользовательском режиме (без системного вызова вообще) показывает 100% занятости в верхней части, пока все хорошо.
Я пытаюсь использовать perf следующим образом:
sudo perf record -e irq:* -C 2 sleep 30
sudo perf report --show-total-period -i perf.data
Я вижу некоторые RCU IRQ в perf.data, даже я вижу:
sudo bash -c 'for i in `pgrep rcu` ; do taskset -pc 0,4,5 $i ; done'
чтобы переместить любую задачу rcu в ядро 0,4,5, но все еще можно увидеть rcu irq в ядре 2, что еще можно сделать, чтобы иметь только таймер irq в ядре 2?!