Just based on some limited testing, yes, you are incorrect in thinking that the Linux Scheduler is smart enough not to assign additional work. It passes the process around the cores like a party favor. I was just curious if anyone pursued it, there are performance benefits to binding a process to a specific core (in the general case), increased cache hits being one. To cut to the chase, I think there would be performance benefits to binding the opengl/d3d process to a core, and binding the other processes to the remaining cores.