powerpc: Fix ppc32 mm_struct CPU tracking in SMP
The 32-bit hash code didn't need it so far so we don't update mm->cpu_vm_mask on context switch. This however will break when we merge the RCU based page table freeing patch and other upcoming 32-bit embedded SMP work, so this adds the update. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
1b98326b91
commit
4ee5f55175
@@ -180,6 +180,9 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
|
|||||||
|
|
||||||
tsk->thread.pgdir = next->pgd;
|
tsk->thread.pgdir = next->pgd;
|
||||||
|
|
||||||
|
if (!cpu_isset(smp_processor_id(), next->cpu_vm_mask))
|
||||||
|
cpu_set(smp_processor_id(), next->cpu_vm_mask);
|
||||||
|
|
||||||
/* No need to flush userspace segments if the mm doesnt change */
|
/* No need to flush userspace segments if the mm doesnt change */
|
||||||
if (prev == next)
|
if (prev == next)
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user