[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAmzW4OV4J_zGh2MSCqE0-x6Z_BopB+ucSVLV6kp53Cw4obkfg@mail.gmail.com>
Date: Wed, 2 Mar 2016 23:38:44 +0900
From: Joonsoo Kim <js1304@...il.com>
To: Xishi Qiu <qiuxishi@...wei.com>
Cc: LKML <linux-kernel@...r.kernel.org>, Linux MM <linux-mm@...ck.org>
Subject: Re: a question about slub in function __slab_free()
2016-03-02 21:26 GMT+09:00 Xishi Qiu <qiuxishi@...wei.com>:
> ___slab_alloc()
> deactivate_slab()
> add_full(s, n, page);
> The page will be added to full list and the frozen is 0, right?
>
> __slab_free()
> prior = page->freelist; // prior is NULL
> was_frozen = new.frozen; // was_frozen is 0
> ...
> /*
> * Slab was on no list before and will be
> * partially empty
> * We can defer the list move and instead
> * freeze it.
> */
> new.frozen = 1;
> ...
>
> I don't understand why "Slab was on no list before"?
add_full() is defined only for CONFIG_SLUB_DEBUG.
And, actual add happens if slub_debug=u is enabled.
In other cases, fully used slab isn't attached on any list.
Thanks.
Powered by blists - more mailing lists