Re: Fw: potential /dev/urandom scalability improvement

From: Andrew Morton
Date: Fri Mar 26 2004 - 15:36:29 EST


David Mosberger <davidm@xxxxxxxxxxxxxxxxx> wrote:
>
> >>>>> On Fri, 26 Mar 2004 10:49:04 -0800, Andrew Morton <akpm@xxxxxxxx> said:
>
> Andrew> But the start address which is fed into prefetch_range() may
> Andrew> not be cacheline-aligned. So if appropriately abused, a
> Andrew> prefetch_range() could wander off the end of the user's
> Andrew> buffer and into a new page.
>
> Andrew> I think this gets it right, but I probably screwed something
> Andrew> up.
>
> Please, let's not make this more complicated than it is. The
> cacheline alignment doesn't matter at all. Provided prefetch_range()
> is given a range of guaranteed to be valid memory, then it will be
> fine. It never touches anything outside the specified range.

If someone does, say,

prefetch_range(some_pointer, sizeof(*some_pointer));

then it is possible that prefetch_range() could

a) execute a prefetch at addresses which are not PREFETCH_STRIDE-aligned
and, as a consequence,

b) prefetch data from the next page, outside the range of the user's
(addr,len).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/