diff -urN --exclude-from=/home/davej/.exclude linux-2.5.2-pre5/mm/filemap.c linux-2.5/mm/filemap.c
--- linux-2.5.2-pre5/mm/filemap.c Sun Dec 16 23:21:24 2001
+++ linux-2.5/mm/filemap.c Mon Dec 31 03:22:51 2001
@@ -1570,6 +1570,15 @@
size = count;
kaddr = kmap(page);
+
+ if (size > 128) {
+ int i;
+ for(i=0; i<size; i+=64) {
+ prefetch (kaddr+offset);
+ prefetch (kaddr+offset+(L1_CACHE_BYTES*2));
+ }
+ }
+
left = __copy_to_user(desc->buf, kaddr + offset, size);
kunmap(page);
The results are an earth shaking 5 seconds off a make dep bzImage
on my P3, I've not benched an Athlon (or other prefetch aware
architecture) yet, but I expect to see similar speed ups..
Comments ?
Dave.
-- Dave Jones. http://www.codemonkey.org.uk SuSE Labs. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/