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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>