Re: [PATCH 10/10] slab: use memcg_kmem_cache_wq for slab destruction operations

From: Vladimir Davydov
Date: Sun Jan 29 2017 - 11:30:15 EST


On Tue, Jan 17, 2017 at 03:54:11PM -0800, Tejun Heo wrote:
> If there's contention on slab_mutex, queueing the per-cache
> destruction work item on the system_wq can unnecessarily create and
> tie up a lot of kworkers.
>
> Rename memcg_kmem_cache_create_wq to memcg_kmem_cache_wq and make it
> global and use that workqueue for the destruction work items too.
> While at it, convert the workqueue from an unbound workqueue to a
> per-cpu one with concurrency limited to 1. It's generally preferable
> to use per-cpu workqueues and concurrency limit of 1 is safe enough.
>
> This is suggested by Joonsoo Kim.
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Reported-by: Jay Vana <jsvana@xxxxxx>
> Cc: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>
> Cc: Christoph Lameter <cl@xxxxxxxxx>
> Cc: Pekka Enberg <penberg@xxxxxxxxxx>
> Cc: David Rientjes <rientjes@xxxxxxxxxx>
> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

Acked-by: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>