On (03/11/16 16:30), Minchan Kim wrote:
> Every zspage in a size_class has same number of max objects so
> we could move it to a size_class.
> 
> Signed-off-by: Minchan Kim <minc...@kernel.org>
> ---
>  mm/zsmalloc.c | 29 ++++++++++++++---------------
>  1 file changed, 14 insertions(+), 15 deletions(-)
> 
> diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
> index b4fb11831acb..ca663c82c1fc 100644
> --- a/mm/zsmalloc.c
> +++ b/mm/zsmalloc.c
> @@ -32,8 +32,6 @@
>   *   page->freelist: points to the first free object in zspage.
>   *           Free objects are linked together using in-place
>   *           metadata.
> - *   page->objects: maximum number of objects we can store in this
> - *           zspage (class->zspage_order * PAGE_SIZE / class->size)
>   *   page->lru: links together first pages of various zspages.
>   *           Basically forming list of zspages in a fullness group.
>   *   page->mapping: class index and fullness group of the zspage
> @@ -211,6 +209,7 @@ struct size_class {
>        * of ZS_ALIGN.
>        */
>       int size;
> +     int objs_per_zspage;
>       unsigned int index;

struct page ->objects "comes for free". now we don't use it, instead
every size_class grows by 4 bytes? is there any reason for this?

        -ss

Reply via email to