Hello David, You cant fully isolate a core in Linux, there are some timekeeping functions that will always run (Linux needs some basic runtime accounting).
The things you can do is avoiding IRQ handlers and "lazy" subsystems that depend on background updates via timer or IPI. You already do this via kernel parameters. Maybe you can look at disabling membarrier too. isolcpu just takes the core out of the scheduler, threads wont be moved in or out automatically. if you want to find out what causes the interrupts... use ftrace + kernelshark? Norbert