On 07/19/2018 10:10 AM, Mel Gorman wrote: > On Wed, Jul 18, 2018 at 03:36:14PM +0200, Vlastimil Babka wrote: >> The kmalloc caches currently mainain separate (optional) array >> kmalloc_dma_caches for __GFP_DMA allocations. There are tests for __GFP_DMA in >> the allocation hotpaths. We can avoid the branches by combining kmalloc_caches >> and kmalloc_dma_caches into a single two-dimensional array where the outer >> dimension is cache "type". This will also allow to add kmalloc-reclaimable >> caches as a third type. >> >> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > > I'm surprised there are so many kmalloc users that require the DMA zone. > Some of them are certainly bogus such as in drivers for archs that only > have one zone and is probably a reflection of the confusing naming. The > audit would be a mess and unrelated to the patch so for this patch; Yeah, there was a session about that on LSF/MM and Luis was working on it. One of the motivations was to get rid of the branch, so that's sidestepped by this patch. I would still like to not have slabinfo full of empty dma-kmalloc caches though :) > Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> >