mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
Revert "[PARISC] Optimize TLB flush on SMP systems"
This reverts commit 592ac93a60
which causes SMP machines with maxcpus > 1 to fail to boot...
This commit is contained in:
parent
f6744bdd73
commit
04532c4f55
1 changed files with 13 additions and 11 deletions
|
@ -39,19 +39,21 @@ extern void flush_tlb_all_local(void *);
|
|||
* etc. do not do that).
|
||||
*/
|
||||
|
||||
static inline void __flush_tlb_mm(void *mmv)
|
||||
{
|
||||
struct mm_struct *mm = (struct mm_struct *)mmv;
|
||||
if (mm == current->active_mm)
|
||||
load_context(mm->context);
|
||||
}
|
||||
|
||||
static inline void flush_tlb_mm(struct mm_struct *mm)
|
||||
{
|
||||
if (mm->context != 0)
|
||||
free_sid(mm->context);
|
||||
mm->context = alloc_sid();
|
||||
on_each_cpu(__flush_tlb_mm, mm, 1, 1);
|
||||
BUG_ON(mm == &init_mm); /* Should never happen */
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
flush_tlb_all();
|
||||
#else
|
||||
if (mm) {
|
||||
if (mm->context != 0)
|
||||
free_sid(mm->context);
|
||||
mm->context = alloc_sid();
|
||||
if (mm == current->active_mm)
|
||||
load_context(mm->context);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
extern __inline__ void flush_tlb_pgtables(struct mm_struct *mm, unsigned long start, unsigned long end)
|
||||
|
|
Loading…
Reference in a new issue