Re: [beta patch] SSE copy_page() / clear_page()

Pavel Machek (pavel@suse.cz)
Tue, 20 Feb 2001 18:35:13 +0100


Hi!

> --- 2.4/mm/filemap.c Wed Feb 14 10:51:42 2001
> +++ build-2.4/mm/filemap.c Wed Feb 14 22:11:44 2001
> @@ -1248,6 +1248,20 @@
> size = count;
>
> kaddr = kmap(page);
> + if (size > 128) {
> + int i;
> + __asm__ __volatile__(
> + "mov %1, %0\n\t"
> + : "=r" (i)
> + : "r" (kaddr+offset)); /* load tlb entry */
> + for(i=0;i<size;i+=64) {
> + __asm__ __volatile__(
> + "prefetchnta (%1, %0)\n\t"
> + "prefetchnta 32(%1, %0)\n\t"
> + : /* no output */
> + : "r" (i), "r" (kaddr+offset));
> + }
> + }
> left = __copy_to_user(desc->buf, kaddr + offset, size);
> kunmap(page);

This seems bogus -- you need to handle faults --
i.e. __prefetchnta_to_user() ;-).
Pavel

-- 
I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents at discuss@linmodems.org
-
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/