From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752185AbdLKAQj (ORCPT ); Sun, 10 Dec 2017 19:16:39 -0500 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:53424 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751137AbdLKAQh (ORCPT ); Sun, 10 Dec 2017 19:16:37 -0500 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.220.163 X-Original-MAILFROM: minchan@kernel.org Date: Mon, 11 Dec 2017 09:16:35 +0900 From: Minchan Kim To: Sergey Senozhatsky Cc: Gopi Sai Teja , ngupta@vflare.org, linux-kernel@vger.kernel.org, v.narang@samsung.com, pankaj.m@samsung.com, a.sahrawat@samsung.com, prakash.a@samsung.com, himanshu.sh@samsung.com Subject: Re: [PATCH 1/1] zram: better utilization of zram swap space Message-ID: <20171211001635.GA18762@bbox> References: <1512634963-1079-1-git-send-email-gopi.st@samsung.com> <20171207084510.GA10341@jagdpanzerIV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171207084510.GA10341@jagdpanzerIV> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Gopi and Sergey, On Thu, Dec 07, 2017 at 05:45:10PM +0900, Sergey Senozhatsky wrote: > On (12/07/17 13:52), Gopi Sai Teja wrote: > > If the length of the compressed page is greater than 75% of the PAGE_SIZE, > > then the page is stored uncompressed in zram space. Zram space utilization > > is improved if the threshold is 80%(5 compressed pages can be stored in > > 4 pages). > > > > If the compressed length is greater than 3068 and less than 3261, pages > > still can be stored in compressed form in zs_malloc class 3264. > > Currently these compressed pages belong to 4096 zs malloc class. > > so this makes sense. I had another idea awhile ago > > lkml.kernel.org/r/1456061274-20059-2-git-send-email-sergey.senozhatsky@gmail.com > > in short, 3261 is good, but not as good as it possibly can be. for the > time being, our huge-class watermark starts at 3264. but this can > change. > > > a side note, I think we have sort of wrong API. zsmalloc knows better which > object is huge. and who knows, may be we will change the number of huge > classes someday or huge-class watermark, etc. so having "hey zsmalloc, is > this object huge or not" API seems to be better than ZRAM's enforcement > "hey zsmalloc, this object is huge". > > -ss I agree. zram shouldn't be aware of allocator internal. It would be better for zram to use *int zs_max_zpage_size(struct zs_pool *pool)* to set up max_zpage_size. Let's hide the allocator's detail to the exported function. Thanks.