linux-mips-fnet
[Top] [All Lists]

Re: [patch] linux: mb() and friends again

To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Subject: Re: [patch] linux: mb() and friends again
From: "Gleb O. Raiko" <raiko@niisi.msk.ru>
Date: Tue, 04 Jun 2002 21:44:25 +0400
Cc: Ralf Baechle <ralf@uni-koblenz.de>, linux-mips@fnet.fr, linux-mips@oss.sgi.com
Organization: NIISI RAN
References: <Pine.GSO.3.96.1020604164624.17556E-100000@delta.ds2.pg.gda.pl>
"Maciej W. Rozycki" wrote:
> > Why did you drop it? It's definetely required.
> 
>  Nope, it wasn't dropped.  It's included in a different patch, namely
> "patch-mips-2.4.18-20020412-wbflush-5".  The patch depends on the
> "patch-mips-2.4.18-20020530-mb-wb-8" one, so I am not going to resubmit
> the former one for discussion here until (unless) we decide on the latter
> one.

Don't forget the latter one. :-)

> 
> > While you patch operates in unusual terms from hw point of view, it does
> > right thins by stating that external wbs do differ from internal wb.
> 
>  What do you mean by "unusual terms"?  The names of the macros?  Well,
> they are based on what's used for other platforms and if treated as
> abstract names (as they should be) they actually reflect reality.
> 

Basically, the patch logically allows combination of a CPU with internal
write-buffer and an external wb chip. It's impossible if hw designers
don't smoke hard. :-)

In fact, CONFIG_CPU_HAS_WB means !CONFIG_CPU_HAS_WB, i.e. CPU don't have
built-in write-buffer logic and there is an external write-buffer chip
somewhere in the box.
("Somewhere" means a place on the path from the local bus to a memory
controller.)

Then, __fast_iob just flushes internal wb while wbflush flushes an
external wb.

That's why I call it "unusual terms from hw POV". 

But, don't reimplement the patch, please. It's OK. Just from software
point of view.

Regards,
Gleb.

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