For SDK 2.0 LS1043ARDB is it possible to isolate a given CPU core from the following IPI interrupts, and if so, how do we isolate CPU0 from the following IPI interrupts:
root@ls1043ardb:~# echo 498 > /sys/class/gpio/export
root@ls1043ardb:~# echo falling > /sys/class/gpio/gpio498/edge
root@ls1043ardb:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
[....]
66: 0 0 0 0 GIC 106
Level 1740000.jr
67: 0 0 0 0 mpc8xxx-gpio 18
Edge gpiolib
IPI0: 3226 4833 4237 4170 Recheduling interrupts
IPI1: 17 21 19 23 Function call interrupts
Setting GPIO affinity doesn’t work:
root@ls1043ardb:~# echo 1 > /proc/irq/67/smp_affinity_list
-sh: echo: write error: Input/output error
Setting eMMC interrupt affinity works just fine:
root@ls1043ardb:~# echo 1 > /proc/irq/12/smp_affinity_list
root@ls1043ardb:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
[....]
1: 0 0 0 0 GIC 29
Edge arch_timer
2: 35475 39336 28975 38803 GIC 30
Edge arch_timer
11 9 0 0 0 GIC 75 Level fsl-ifc
12: 3370 14 0 0 GIC 94 Level mmc0
[...]
Look at the following pages:
and
https://cs.uwaterloo.ca/~brecht/servers/apic/SMP-affinity.txt
and
http://www.thegeekstuff.com/2014/01/linux-interrupts/?utm_source=feedburner
See also the following page from NXP Community:
https://community.nxp.com/thread/301130
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------