> I wish you could disable cores dynamically...
Another comment says /sys/devices/system/cpu/cpu[0-n]/online doesn't work, but I think you can get pretty far by changing the CPU affinity at the cgroup or process levels (for userspace) and on /proc/irq/default_smp_affinity (for interrupts). There are likely some kernel threads that would still run on the other cores, but this is reasonably close.
In particular, looks like setting CPUAffinity= /etc/systemd/system.conf will set a default for all of userspace that you can override for particular things as desired.