On Tue, 2012-10-23 at 11:29 +0900, JoonSoo Kim wrote: > 2012/10/22 Christoph Lameter <cl@xxxxxxxxx>: > > On Sun, 21 Oct 2012, Joonsoo Kim wrote: > > > >> kmalloc() and kmalloc_node() of the SLUB isn't inlined when @flags = __GFP_DMA. > >> This patch optimize this case, > >> so when @flags = __GFP_DMA, it will be inlined into generic code. > > > > __GFP_DMA is a rarely used flag for kmalloc allocators and so far it was > > not considered that it is worth to directly support it in the inlining > > code. > > > > > > Hmm... but, the SLAB already did that optimization for __GFP_DMA. > Almost every kmalloc() is invoked with constant flags value, > so I think that overhead from this patch may be negligible. > With this patch, code size of vmlinux is reduced slightly. Only because you asked a allyesconfig GFP_DMA is used for less than 0.1 % of kmalloc() calls, for legacy hardware (from last century) In fact if you want to reduce even more your vmlinux, you could test if (__builtin_constant_p(flags) && (flags & SLUB_DMA)) return kmem_cache_alloc_trace(s, flags, size); to force the call to out of line code. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>