Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754336AbdHYCBq (ORCPT ); Thu, 24 Aug 2017 22:01:46 -0400 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:39641 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754191AbdHYCBp (ORCPT ); Thu, 24 Aug 2017 22:01:45 -0400 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: iamjoonsoo.kim@lge.com X-Original-SENDERIP: 10.177.222.138 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Fri, 25 Aug 2017 11:02:11 +0900 From: Joonsoo Kim To: Nick Terrell Cc: "sergey.senozhatsky.work@gmail.com" , "linux-kernel@vger.kernel.org" , "minchan@kernel.org" , Yann Collet Subject: Re: [PATCH] zram: add zstd to the supported algorithms list Message-ID: <20170825020211.GF29701@js1304-P5Q-DELUXE> References: <20170824014936.4738-1-sergey.senozhatsky@gmail.com> <20170825004947.GE29701@js1304-P5Q-DELUXE> <27EDD68A-61DC-42F1-8422-16B9AB9F0EB3@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <27EDD68A-61DC-42F1-8422-16B9AB9F0EB3@fb.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2010 Lines: 50 On Fri, Aug 25, 2017 at 01:35:35AM +0000, Nick Terrell wrote: > On 8/24/17, 5:49 PM, "Joonsoo Kim" wrote: > > On Thu, Aug 24, 2017 at 09:33:54PM +0000, Nick Terrell wrote: > > > On Thu, Aug 24, 2017 at 10:49:36AM +0900, Sergey Senozhatsky wrote: > > > > Add ZSTD to the list of supported compression algorithms. > > > > > > > > Official benchmarks [1]: > > > > > > Awesome! Let me know if you need anything from me. > > > > > Hello, Nick. > > > > Awesome work!!! > > > > Let me ask a question. > > Zram compress and decompress a small data (a page) and your github > > site says that using predefined dictionary would be helpful in this > > situation. However, it seems that compression crypto API for zstd > > doesn't use ZSTD_compress_usingDict(). Is there any plan to support > > it? > > I think using dictionaries in zram could be very interesting. We could for Yes! > example, take a random sample of the RAM and use that as the dictionary > for compression. E.g. take 32 512B samples from RAM and build a 16 KB > dictionary (sizes may vary). > > I'm not sure how you would pass a dictionary into the crypto compression > API, but I'm sure we can make something work if dictionary compression > proves to be beneficial enough. Okay. I'm also not sure how we can pass a dictionary into the crypto compression API so I ask you that you have a plan to implement it. :) > > What data have you, or anyone, used for benchmarking compression ratio and > speed for RAM? Since it is such a specialized application, the standard > compression benchmarks aren't very applicable. For three month ago, I worked zram deduplication feature. It wasn't merged due to some problems however it tells us that zram's data has many similiar (even some of them is perfectly the same) parts in some cases. I think that this similarity between data and predefined dictionary would lead to a good result. lkml.kernel.org/r/<1494556204-25796-3-git-send-email-iamjoonsoo.kim@lge.com> Thanks.