Subject: Re: inter-cpu coherency and kernel data structures
To: None <thorpej@zembu.com>
From: Chris G. Demetriou <cgd@sibyte.com>
List: tech-smp
Date: 08/14/2000 11:41:30
Jason R Thorpe <thorpej@zembu.com> writes:
> So, I'm under the impression that the 21064 doens't support WMB -- in
> that case, does WMB properly degrade into an MB?  Or should I just be
> safe and issue MB instead?

based on the opcode encoding, i'd expect that it degrades into an MB.
The manual does not discuss that you can't use WMB on some CPUs, so
i'd expect that that encoding is always 'at least' a WMB.  I don't
know for sure, though.  (the 21064/21064A processor manual(s) might
say what is done with those instruction encodings, though.)


it should be easy to test empirically:

	* time a loop of:
		write
		mb

	* time a loop of:
		write
		wmb

	* time a loop of:
		write
		nop

if you want somebody to test it on a 21064A alpha, i can run a test,
certainly.

(it'd be interesting to know the result of that on later CPUs, too, to
know the real effect of the ops on a trivial test case.)



cgd