Ccing Stephen. On Wed, Apr 20, 2016 at 08:11:41AM +0100, Jon Hunter wrote: > Hi Joonsoo, > > On 11/04/16 12:44, Jon Hunter wrote: > > On 11/04/16 03:02, Joonsoo Kim wrote: > >> On Fri, Apr 08, 2016 at 03:39:20PM -0500, Nishanth Menon wrote: > >>> Hi, > >>> > >>> http://marc.info/?l=linux-omap&m=146014314115625&w=2 series works with > >>> v4.6-rc2 kernel, however, it fails with linux-next for suspend-to-ram > >>> (mem) on BeagleBoard-X15 > >>> > >>> next-20160327 - good > >>> next-20160329 - good > >>> next-20160330 - Fails to boot - I2C crashes > >>> next-20160331- Fails to boot - USB crashes > >>> next-20160401 -> bad > >>> next-20160408 -> bad > >>> > >>> Bisect log of next-20160408 vs v4.6-rc2 -> > >>> http://pastebin.ubuntu.com/15697856/ > >>> > >>> # first bad commit: [2b629704a2b6a5b239f23750e5517a9d8c3a4e8c] > >>> mm/slab: clean-up kmem_cache_node setup > >>> > >> > >> Hello, > >> > >> I made a mistake on that patch. Could you try to test below one on > >> top of it. > >> > >> Thanks. > >> > >> --------->8---------------- > >> From d3af3cc409527e9be6beb62ea395cde67f3c5029 Mon Sep 17 00:00:00 2001 > >> From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > >> Date: Mon, 11 Apr 2016 10:48:29 +0900 > >> Subject: [PATCH] mm/slab: clean-up kmem_cache_node setup-fix > >> > >> After calling free_block(), we need to re-calculate array_cache's > >> avail counter. Fix it. > >> > >> And, it's better to free objects in shared array when it is > >> really necessary. Check it before calling free_block(). > >> > >> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > >> --- > >> mm/slab.c | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/mm/slab.c b/mm/slab.c > >> index fcd5fbb..27cb390 100644 > >> --- a/mm/slab.c > >> +++ b/mm/slab.c > >> @@ -927,9 +927,10 @@ static int setup_kmem_cache_node(struct kmem_cache *cachep, > >> > >> n = get_node(cachep, node); > >> spin_lock_irq(&n->list_lock); > >> - if (n->shared) { > >> + if (n->shared && force_change) { > >> free_block(cachep, n->shared->entry, > >> n->shared->avail, node, &list); > >> + n->shared->avail = 0; > >> } > >> > >> if (!n->shared || force_change) { > > > > This also fixes a regression on -next for Tegra that was bisected down > > to the same culprit. So ... > > > > Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx> > > This fix still doesn't appear to have made it into -next and this has > been broken now for nearly 3 weeks. Any chance we can get this into -next? Sorry about that. Hello, Stephen. It seems that Andrew is busy now. I guess he will be back soon but could you merge this fix to the next tree directly? Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html