Re: Can context switches be faster?

Jeremy Fitzhardinge
2006-10-14T00:11:14Z

Andreas Mohr wrote:
> OK, so since we've now amply worked out in this thread that TLB/cache flushing
> is a real problem for context switching management, would it be possible to
> smartly reorder processes on the runqueue (probably works best with many active
> processes with the same/similar priority on the runqueue!) to minimize
> TLB flushing needs due to less mm context differences of adjacently scheduled
> processes?
> (i.e. don't immediately switch from user process 1 to user process 2 and
> back to 1 again, but always try to sort some kernel threads in between
> to avoid excessive TLB flushing)
>

It does. The kernel will (slightly) prefer to switch between two
threads sharing an address space over switching to a different address
space. (Hm, at least it used to, but I can't see where that happens now.)

J