linux-mips
[Top] [All Lists]

Re: [PATCH] Added MIPS RM9K watchdog driver

To: Thomas Koeller <thomas@koeller.dyndns.org>
Subject: Re: [PATCH] Added MIPS RM9K watchdog driver
From: Ralf Baechle <ralf@linux-mips.org>
Date: Sat, 12 Aug 2006 23:41:00 +0100
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, wim@iguana.be, linux-kernel@vger.kernel.org, linux-mips@linux-mips.org
In-reply-to: <200608121806.02844.thomas@koeller.dyndns.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200608102319.13679.thomas@koeller.dyndns.org> <1155326835.24077.116.camel@localhost.localdomain> <200608121806.02844.thomas@koeller.dyndns.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.2.1i
On Sat, Aug 12, 2006 at 06:06:02PM +0200, Thomas Koeller wrote:

> > > + while (1) continue;
> >
> > cpu_relax();
> 
> I tried to find out about the purpose of cpu_relax(). On MIPS, at least,
> it maps to barrier(). I do not quite understand why I would need a
> barrier() in this place. Would you, or someone else, care to
> enlighten me?

Busy wait loops are meant to be filled with cpu_relax() in Linux.  On
processors like the Pentium 4 this expands into something that keeps
the CPU from consuming excessive amounts of energy for just twiddling
thumbs and probably also CPU dependant.  On MIPS cpu_relax() so far is
meaningless and therfore just defined as barrier().

  Ralf

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