From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750842AbdAWEDh (ORCPT ); Sun, 22 Jan 2017 23:03:37 -0500 Received: from mail-pf0-f195.google.com ([209.85.192.195]:32838 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750711AbdAWEDf (ORCPT ); Sun, 22 Jan 2017 23:03:35 -0500 Date: Mon, 23 Jan 2017 13:03:47 +0900 From: Sergey Senozhatsky To: Joonsoo Kim Cc: zhouxianrong , Sergey Senozhatsky , linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, sergey.senozhatsky@gmail.com, minchan@kernel.org, ngupta@vflare.org, Mi.Sophia.Wang@huawei.com, zhouxiyu@huawei.com, weidu.du@huawei.com, zhangshiming5@huawei.com, won.ho.park@huawei.com Subject: Re: [PATCH] mm: extend zero pages to same element pages for zram Message-ID: <20170123040347.GA2327@jagdpanzerIV.localdomain> References: <1483692145-75357-1-git-send-email-zhouxianrong@huawei.com> <1484296195-99771-1-git-send-email-zhouxianrong@huawei.com> <20170121084338.GA405@jagdpanzerIV.localdomain> <84073d07-6939-b22d-8bda-4fa2a9127555@huawei.com> <20170123025826.GA24581@js1304-P5Q-DELUXE> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170123025826.GA24581@js1304-P5Q-DELUXE> User-Agent: Mutt/1.7.2 (2016-11-26) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (01/23/17 11:58), Joonsoo Kim wrote: > Hello, > > On Sun, Jan 22, 2017 at 10:58:38AM +0800, zhouxianrong wrote: > > 1. memset is just set a int value but i want to set a long value. > > Sorry for late review. > > Do we really need to set a long value? I cannot believe that > long value is repeated in the page. Value repeatition is > usually done by value 0 or 1 and it's enough to use int. And, I heard > that value 0 or 1 is repeated in Android. Could you check the distribution > of the value in the same page? Hello Joonsoo, thanks for taking a look and for bringing this question up. so I kinda wanted to propose union of `ulong handle' with `uint element' and switching to memset(), but I couldn't figure out if that change would break detection of some patterns. /* Allocated for each disk page */ struct zram_table_entry { - unsigned long handle; + union { + unsigned long handle; + unsigned int element; + }; unsigned long value; }; -ss