With so many cores in modern machines, it is time to rethink how the system should handle them.
There are interesting models, like the multikernel, published in the literature. However, it seems that a simpler way must exist.
For example, we can make some cores execute just user code, with no interrupts, and no round robin. We can make other cores execute system code.