From: Eric Dumazet Mostobjects returned by __cache_alloc() will be written by the caller, (but not all callers want to write all the object, but just at the begining) prefetchw() tells the modern CPU to think about the future writes, ie start some memory transactions in advance. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton --- mm/slab.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN mm/slab.c~mm-slabc-prefetchw-the-start-of-new-allocated-objects mm/slab.c --- devel/mm/slab.c~mm-slabc-prefetchw-the-start-of-new-allocated-objects 2005-07-29 02:13:07.000000000 -0700 +++ devel-akpm/mm/slab.c 2005-07-29 02:14:01.000000000 -0700 @@ -2165,7 +2165,9 @@ static inline void *__cache_alloc(kmem_c objp = cache_alloc_refill(cachep, flags); } local_irq_restore(save_flags); - objp = cache_alloc_debugcheck_after(cachep, flags, objp, __builtin_return_address(0)); + objp = cache_alloc_debugcheck_after(cachep, flags, objp, + __builtin_return_address(0)); + prefetchw(objp); return objp; } _