The patch titled Subject: mm/slub.c: record final state of slub action in deactivate_slab() has been added to the -mm tree. Its filename is mm-slub-record-final-state-of-slub-action-in-deactivate_slab.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-slub-record-final-state-of-slub-action-in-deactivate_slab.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-slub-record-final-state-of-slub-action-in-deactivate_slab.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Wei Yang <richard.weiyang@xxxxxxxxx> Subject: mm/slub.c: record final state of slub action in deactivate_slab() If __cmpxchg_double_slab() fails and (l != m), current code records transition states of slub action. Update the action after __cmpxchg_double_slab() success to record the final state. Link: http://lkml.kernel.org/r/20181107013119.3816-1-richard.weiyang@xxxxxxxxx Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/slub.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) --- a/mm/slub.c~mm-slub-record-final-state-of-slub-action-in-deactivate_slab +++ a/mm/slub.c @@ -2129,24 +2129,14 @@ redo: if (l != m) { if (l == M_PARTIAL) - remove_partial(n, page); - else if (l == M_FULL) - remove_full(s, n, page); - if (m == M_PARTIAL) { - + if (m == M_PARTIAL) add_partial(n, page, tail); - stat(s, tail); - - } else if (m == M_FULL) { - - stat(s, DEACTIVATE_FULL); + else if (m == M_FULL) add_full(s, n, page); - - } } l = m; @@ -2159,7 +2149,11 @@ redo: if (lock) spin_unlock(&n->list_lock); - if (m == M_FREE) { + if (m == M_PARTIAL) + stat(s, tail); + else if (m == M_FULL) + stat(s, DEACTIVATE_FULL); + else if (m == M_FREE) { stat(s, DEACTIVATE_EMPTY); discard_slab(s, page); stat(s, FREE_SLAB); _ Patches currently in -mm which might be from richard.weiyang@xxxxxxxxx are mm-slub-remove-validation-on-cpu_slab-in-__flush_cpu_slab.patch mm-slub-page-is-always-non-null-for-node_match.patch mm-slub-record-final-state-of-slub-action-in-deactivate_slab.patch