Re: [PATCH v3 10/16] zsmalloc: factor page chain functionality out

From: Sergey Senozhatsky
Date: Sun Apr 17 2016 - 20:31:43 EST


Hello,

On (03/30/16 16:12), Minchan Kim wrote:
> @@ -1421,7 +1434,6 @@ static unsigned long obj_malloc(struct size_class *class,
> unsigned long m_offset;
> void *vaddr;
>
> - handle |= OBJ_ALLOCATED_TAG;

a nitpick, why did you replace this ALLOCATED_TAG assignment
with 2 'handle | OBJ_ALLOCATED_TAG'?

-ss

> obj = get_freeobj(first_page);
> objidx_to_page_and_offset(class, first_page, obj,
> &m_page, &m_offset);
> @@ -1431,10 +1443,10 @@ static unsigned long obj_malloc(struct size_class *class,
> set_freeobj(first_page, link->next >> OBJ_ALLOCATED_TAG);
> if (!class->huge)
> /* record handle in the header of allocated chunk */
> - link->handle = handle;
> + link->handle = handle | OBJ_ALLOCATED_TAG;
> else
> /* record handle in first_page->private */
> - set_page_private(first_page, handle);
> + set_page_private(first_page, handle | OBJ_ALLOCATED_TAG);
> kunmap_atomic(vaddr);
> mod_zspage_inuse(first_page, 1);
> zs_stat_inc(class, OBJ_USED, 1);