Hello,

sorry, I've a question.

On (03/19/15 11:39), Yinghao Xie wrote:
> @@ -1426,11 +1430,6 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t 
> size)
>       /* extra space in chunk to keep the handle */
>       size += ZS_HANDLE_SIZE;
>       class = pool->size_class[get_size_class_index(size)];
> -     /* In huge class size, we store the handle into first_page->private */
> -     if (class->huge) {
> -             size -= ZS_HANDLE_SIZE;
> -             class = pool->size_class[get_size_class_index(size)];
> -     }

if huge class uses page->private to store a handle, shouldn't we pass
"size -= ZS_HANDLE_SIZE" to get_size_class_index() ?

        -ss

>       spin_lock(&class->lock);
>       first_page = find_get_zspage(class);
> @@ -1856,9 +1855,7 @@ struct zs_pool *zs_create_pool(char *name, gfp_t flags)
>               struct size_class *class;
>  
>               size = ZS_MIN_ALLOC_SIZE + i * ZS_SIZE_CLASS_DELTA;
> -             if (size > ZS_MAX_ALLOC_SIZE)
> -                     size = ZS_MAX_ALLOC_SIZE;
> -             pages_per_zspage = get_pages_per_zspage(size);
> +             pages_per_zspage = get_pages_per_zspage(size + ZS_HANDLE_SIZE);
>  
>               /*
>                * size_class is used for normal zsmalloc operation such
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to