March 25, 2015
5:25 p.m.
On Wed, 25 Mar 2015 21:35:22 +0530, Sreejith M M said:
This code is handling context switch from a kernel thread back to user mode thread so TLB entries are invalid translation for user mode thread and do not correspond to user process pgd. It is Master kernel page table translation as a result of kernel thread execution.
-Rajat Hi Rajat,
If that is the case, why this code is put under CONFIG_SMP switch?
Vastly simplified because I'm lazy :) If you look at the code, it's poking the status on *other* CPUs. That's why the cpumask() stuff. If you're on a single execution unit, you don't have to tell the other CPU about the change in state, because there isn't an other CPU.