dcbz not used on ppc64?
anton at samba.org
Tue Jan 4 09:58:22 EST 2005
> I ran into some issues with the use of the dcbz instruction in the
> kernel for ppc32. I'm now looking at porting our work to ppc64, and
> when I looked around a bit, I found that the dcbz instruction doesn't
> appear to be used in ppc64.
> This leads me to ask:
> 1) Is it in fact true that ppc64 does not use dcbz in the kernel?
> 2) If so, why not? Presumably it would be a win in some cases,
> otherwise they wouldn't be using it in ppc32. Is there some other
> factore in play for ppc64?
include/asm-ppc64/page.h:clear_page() uses it:
static __inline__ void clear_page(void *addr)
unsigned long lines, line_size;
line_size = systemcfg->dCacheL1LineSize;
lines = naca->dCacheL1LinesPerPage;
"mtctr %1 # clear_page\n\
1: dcbz 0,%0\n\
: "=r" (addr)
: "r" (lines), "0" (addr), "r" (line_size)
: "ctr", "memory");
More information about the Linuxppc-dev