Re: linux-next: manual merge of the slab tree with the mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 19, 2023 at 02:03:30PM +1000, Stephen Rothwell wrote:
> diff --cc mm/slab_common.c
> index 43c008165f56,90ecaface410..000000000000
> --- a/mm/slab_common.c
> +++ b/mm/slab_common.c
> @@@ -892,24 -876,17 +890,24 @@@ new_kmalloc_cache(int idx, enum kmalloc
>   		flags |= SLAB_CACHE_DMA;
>   	}
>   
>  +	if (minalign > ARCH_KMALLOC_MINALIGN) {
>  +		aligned_size = ALIGN(aligned_size, minalign);
>  +		aligned_idx = __kmalloc_index(aligned_size, false);
>  +	}
>  +
> + 	/*
> + 	 * If CONFIG_MEMCG_KMEM is enabled, disable cache merging for
> + 	 * KMALLOC_NORMAL caches.
> + 	 */
> + 	if (IS_ENABLED(CONFIG_MEMCG_KMEM) && (type == KMALLOC_NORMAL))
> + 		flags |= SLAB_NO_MERGE;
> + 
>  -	kmalloc_caches[type][idx] = create_kmalloc_cache(
>  -					kmalloc_info[idx].name[type],
>  -					kmalloc_info[idx].size, flags, 0,
>  -					kmalloc_info[idx].size);
>  +	if (!kmalloc_caches[type][aligned_idx])
>  +		kmalloc_caches[type][aligned_idx] = create_kmalloc_cache(
>  +					kmalloc_info[aligned_idx].name[type],
>  +					aligned_size, flags);
>  +	if (idx != aligned_idx)
>  +		kmalloc_caches[type][idx] = kmalloc_caches[type][aligned_idx];
> - 
> - 	/*
> - 	 * If CONFIG_MEMCG_KMEM is enabled, disable cache merging for
> - 	 * KMALLOC_NORMAL caches.
> - 	 */
> - 	if (IS_ENABLED(CONFIG_MEMCG_KMEM) && (type == KMALLOC_NORMAL))
> - 		kmalloc_caches[type][idx]->refcount = -1;
>   }
>   
>   /*

Thanks Stephen. The resolution looks fine to me.

-- 
Catalin



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux