Q: PREFETCH_STRIDE/16

Hugh Dickins (hugh@veritas.com)
Thu, 23 May 2002 16:12:16 +0100 (BST)


Could anyone please shed light on PREFETCH_STRIDE,
and in particular its sole use:
prefetchw(pmd+j+(PREFETCH_STRIDE/16));
in mm/memory.c: free_one_pgd().

That looks to me suspiciously like something inserted to suit
one particular architecture - ia64? is it really suitable for
others? is 4*L1_CACHE_SIZE really right for PREFETCH_STRIDE
on anything that prefetches except ia64? what's the "/ 16"?
shouldn't there be a "/ sizeof(pmd_t)" somewhere (PAE or not)?
is it right to prefetch each time around that loop? isn't it
appropriate only to the exit_mm (0 to TASK_SIZE) clearance?

All in all, I'm thinking that line shouldn't be there,
or not without a substantial comment...

Thanks,
Hugh

-
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/