[PATCH] mm/slab.c: prefetchw the start of new allocated objects
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 <dada1@cosmosbay.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
61e06037e7
commit
34342e863c
|
@ -2166,7 +2166,9 @@ static inline void *__cache_alloc(kmem_cache_t *cachep, unsigned int __nocast fl
|
||||||
objp = cache_alloc_refill(cachep, flags);
|
objp = cache_alloc_refill(cachep, flags);
|
||||||
}
|
}
|
||||||
local_irq_restore(save_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;
|
return objp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue