Linux MIPS Architecture development
 help / color / mirror / Atom feed
* memcpy prefetch
@ 2005-04-06 12:30 Greg Weeks
  2005-04-06 20:08 ` Ralf Baechle
  0 siblings, 1 reply; 8+ messages in thread
From: Greg Weeks @ 2005-04-06 12:30 UTC (permalink / raw)
  To: linux-mips

In trying to understand the prefetch code in memcpy it looks like it's 
prefetching too far out in front of the loop. In the main aligned loop 
the loop copies 32 or 64 bytes of data and the prefetch is trying to 
prefetch 256 bytes ahead of the current copy. The prefetches should also 
pay attention to cache line size and they currently don't. If the line 
size is less than the copy size we are skipping prefetches that should 
be done. For the 4kc the line size is only 16 bytes. We should be doing 
a prefetch for each line. The src_unaligned_dst_aligned loop is even 
worse as it prefetches 288 bytes ahead of the copy and only copies 16 or 
32 bytes at a time.

Have I totally misunderstood the code?

Greg Weeks

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-04-07 14:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-06 12:30 memcpy prefetch Greg Weeks
2005-04-06 20:08 ` Ralf Baechle
2005-04-07 12:14   ` Greg Weeks
2005-04-07 12:25     ` Ralf Baechle
2005-04-07 12:25     ` Michael Uhler
2005-04-07 12:25       ` Michael Uhler
2005-04-07 12:28     ` Dominic Sweetman
2005-04-07 14:05       ` Ralf Baechle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox