On Fri, Jul 29, 2005 at 10:28:26AM +0200, Ingo Molnar wrote: > @@ -2872,10 +2878,10 @@ go_idle: > /* > * Prefetch (at least) a cacheline below the current > * kernel stack (in expectation of any new task touching > - * the stack at least minimally), and a cacheline above > - * the stack: > + * the stack at least minimally), and at least a cacheline > + * above the stack: > */ > - prefetch_range(kernel_stack(next) - MIN_KERNEL_STACK_FOOTPRINT, > + prefetch_range(kernel_stack(next) - L1_CACHE_BYTES, > MIN_KERNEL_STACK_FOOTPRINT + L1_CACHE_BYTES);
This needs to ensure that we don't prefetch outside the page of the kernel stack - otherwise we risk weird problems on architectures which support prefetching but not DMA cache coherency. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/