linux-mips
[Top] [All Lists]

Re: [RFC & PATCH] fixing tlb flush race problem on smp

To: Jun Sun <jsun@mvista.com>
Subject: Re: [RFC & PATCH] fixing tlb flush race problem on smp
From: Juan Quintela <quintela@mandrakesoft.com>
Date: Wed, 22 Jan 2003 08:43:26 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <20030121143726.C16939@mvista.com> (Jun Sun's message of "Tue, 21 Jan 2003 14:37:26 -0800")
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030121143726.C16939@mvista.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Gnus/5.090012 (Oort Gnus v0.12) Emacs/21.2.92 (i386-mandrake-linux-gnu)
>>>>> "jun" == Jun Sun <jsun@mvista.com> writes:

Hi
        just nickpitting.


jun> +          } else {
jun> +                  /* drop the current context completely */
jun> +                  CPU_CONTEXT(cpu, mm) = 0;
jun> }
jun> }
jun> __restore_flags(flags);

Perhaps creating a inline function for this, as the code is identical
in both branches?


jun> diff -Nru link/include/asm-mips/mmu_context.h.orig 
link/include/asm-mips/mmu_context.h
jun> --- link/include/asm-mips/mmu_context.h.orig       Tue Jan 21 13:55:43 2003
jun> +++ link/include/asm-mips/mmu_context.h    Tue Jan 21 14:01:19 2003
jun> @@ -89,12 +89,25 @@
jun> static inline void switch_mm(struct mm_struct *prev, struct mm_struct 
*next,
jun> struct task_struct *tsk, unsigned cpu)
jun> {
jun> +  unsigned long flags;
jun> +
jun> +  __save_and_cli(flags);

s/__save_and_cli()/local_irq_save()/

jun> +  __restore_flags(flags);

s/__restore_flags()/local_irq_restore()/

Same in the other occurence, please.

Later, Juan.

-- 
In theory, practice and theory are the same, but in practice they 
are different -- Larry McVoy

<Prev in Thread] Current Thread [Next in Thread>