linux-mips
[Top] [All Lists]

Re: [PATCH] vr41xx: fix problem with vr41xx_cpu_wait

To: yoichi_yuasa@tripeaks.co.jp
Subject: Re: [PATCH] vr41xx: fix problem with vr41xx_cpu_wait
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Wed, 06 Aug 2008 22:30:33 +0900 (JST)
Cc: ricmm@gentoo.org, linux-mips@linux-mips.org, ralf@linux-mips.org
In-reply-to: <200808060440.m764eF9I021783@po-mbox303.hop.2iij.net>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200808060147.m761l4Is022564@po-mbox303.hop.2iij.net> <20080806020818.GA10184@woodpecker.gentoo.org> <200808060440.m764eF9I021783@po-mbox303.hop.2iij.net>
Sender: linux-mips-bounce@linux-mips.org
On Wed, 6 Aug 2008 13:42:13 +0900, Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> 
wrote:
> > Just now I got my hands on the manual, I can see that the standby
> > instruction sets IE bit to 1 but only on Vr4131 and Vr4181A cores, all
> > others (such as my Vr4121) need to have interrupts enabled before going
> > into standby.
> > 
> > The patch will make it work on all Vr4100 derivates, or we could also
> > add code to build the function depending on CPU type. What do you think?
> 
> local_irq_disable() is included in the sample code on the User's Manul. 
> I think the following patch is good way of this.
...
> +static void old_vr41xx_cpu_wait(void)
> +{
> +     __asm__("standby;\n");
> +}

Then, old vr41 CPUs have potential latency problem as like as other
CPUs with WAIT instruction.

Please refer "WAIT vs. tickless kernel" thread on linux-mips ML
archive for details.

I don't complain about this patch itself.
---
Atsushi Nemoto

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