Re: [PATCH] zsmalloc: remove unnecessary insertion/removal of zspage in compaction

From: Minchan Kim
Date: Wed Mar 25 2015 - 10:58:54 EST


I was missing mailing lists.
Ping again with correction.

On Mon, Mar 09, 2015 at 09:10:40AM +0900, Minchan Kim wrote:
> In putback_zspage, we don't need to insert a zspage into list of zspage
> in size_class again to just fix fullness group. We could do directly
> without reinsertion so we could save some instuctions.
>
> Reported-by: Heesub Shin <heesub.shin@xxxxxxxxxxx>
> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
> ---
> mm/zsmalloc.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
> index 71e4ef496918..e73a78cd340a 100644
> --- a/mm/zsmalloc.c
> +++ b/mm/zsmalloc.c
> @@ -1707,14 +1707,14 @@ static struct page *alloc_target_page(struct size_class *class)
> static void putback_zspage(struct zs_pool *pool, struct size_class *class,
> struct page *first_page)
> {
> - int class_idx;
> enum fullness_group fullness;
>
> BUG_ON(!is_first_page(first_page));
>
> - get_zspage_mapping(first_page, &class_idx, &fullness);
> + fullness = get_fullness_group(first_page);
> insert_zspage(first_page, class, fullness);
> - fullness = fix_fullness_group(class, first_page);
> + set_zspage_mapping(first_page, class->index, fullness);
> +
> if (fullness == ZS_EMPTY) {
> zs_stat_dec(class, OBJ_ALLOCATED, get_maxobj_per_zspage(
> class->size, class->pages_per_zspage));
> --
> 1.9.1
>

--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/