From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3481BC433FE for ; Fri, 4 Nov 2022 23:41:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C22436B0073; Fri, 4 Nov 2022 19:41:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD1F26B0074; Fri, 4 Nov 2022 19:41:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A730C6B0075; Fri, 4 Nov 2022 19:41:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 952CA6B0073 for ; Fri, 4 Nov 2022 19:41:43 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 60BEB1A0B11 for ; Fri, 4 Nov 2022 23:41:43 +0000 (UTC) X-FDA: 80097384486.06.8332E6B Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf27.hostedemail.com (Postfix) with ESMTP id E19F840005 for ; Fri, 4 Nov 2022 23:41:42 +0000 (UTC) Received: by mail-pl1-f175.google.com with SMTP id d20so5186828plr.10 for ; Fri, 04 Nov 2022 16:41:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=LxcWYN0QpMe8IbeHvVbZgmsCBZURKwbyvHbsKgUBwN8=; b=NA5/RcyI/+OQpQe3YDFKBazTZ74hQ6GYZu/rT7ls86rRkSQXq33KzmIzA4tRcLeDVC 6gyEh9+mUbyrpp+zO5QIqSKsNKVsbMhdizrHg5giFmt0cWJn6LnCuYAyvhzaMfgd2nYc 6NIHOYPZV0ydWx+9jM34Q+l4gcDouHhz5vkqM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=LxcWYN0QpMe8IbeHvVbZgmsCBZURKwbyvHbsKgUBwN8=; b=sorHOK7aYI9RH4G78HDvLrgo6ipLQHAqo9B45mzZYZzw5ciLA6V++poniDfvEXl1at +7AjX1hEknq6pCvcUWkRy9KB+JKWSmHUtlGhD8dcWOgUHN2CLw74oGsEKoLzEfxaDUx3 vw3qbc86/puQjIY+qZmzQD9yHc1CLoD2DWyE0e/ES+ZIEp9hSn8kHyhzWUuAVITA8YYo yWEx3RD3tjwUycj+NYLpqtKSzsOzg6PQgiqVO80gMRHhqoDne8MMNTQMKp7h49thrlov gRsrsNENV4zugKho/fWC30IBb4rwRI6H4aFqUMPNPQDaZ58YuglpF6ZhK095F6zGUsjF RWgg== X-Gm-Message-State: ACrzQf2qlcHyynPog+TC8Lht5rmVp/JzjoYl+VnEXYX86rf3jTfhyReL Jh8IIXX/6ABaDf7lYwnseHrslA== X-Google-Smtp-Source: AMsMyM75VpPRQl80n4mmknI/W8ioPfo1NjBA+r6ehGu10M0mLX99UGnFeH90EokugitlSssMIiRefg== X-Received: by 2002:a17:90a:4386:b0:213:df24:ed64 with SMTP id r6-20020a17090a438600b00213df24ed64mr29322443pjg.89.1667605301882; Fri, 04 Nov 2022 16:41:41 -0700 (PDT) Received: from google.com ([240f:75:7537:3187:f2f6:8f5:87c8:3aeb]) by smtp.gmail.com with ESMTPSA id c18-20020a170902d49200b001801aec1f6bsm290872plg.141.2022.11.04.16.41.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Nov 2022 16:41:41 -0700 (PDT) Date: Sat, 5 Nov 2022 08:41:37 +0900 From: Sergey Senozhatsky To: Minchan Kim Cc: Sergey Senozhatsky , Andrew Morton , Nitin Gupta , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCHv4 2/9] zram: Add recompression algorithm sysfs knob Message-ID: References: <20221018045533.2396670-1-senozhatsky@chromium.org> <20221018045533.2396670-3-senozhatsky@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="NA5/RcyI"; spf=pass (imf27.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.175 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667605303; a=rsa-sha256; cv=none; b=7VIBF5giQGq5wHT+zAnX54i7ZnI93FZkvpFdCD/One4aYvF6vrUnmHXeuPq/sVyVg9TzSa FjKt/DtHS7sVIvuMZ7it7Q6AXP/ELHtyQIltT/6k7hkepIsvUN4fD3wPXvVj4q6f3KDLtA HtrJHhASpOQEEZjmGL2C4ENksEme9A4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667605303; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LxcWYN0QpMe8IbeHvVbZgmsCBZURKwbyvHbsKgUBwN8=; b=H/8uaH4MQ6S+AkhznoFUeb8xPBUmUEjnxHED67SNzpG8bbxTHZnHxMijP4uAmom/0bZDF9 3yp8kVKh13efxp5uemhkCGDcRObWfmp2fkLotMF1H+Vmf6eXjIBa1ynNa5fM9CJ2Dk7UHm PO6hZbN4qAClBrGnn7PBT/FKEEi3Af8= X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E19F840005 Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="NA5/RcyI"; spf=pass (imf27.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.175 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Stat-Signature: 1he9wpwn6oj4tfgroy8z65je5ers3z31 X-Rspam-User: X-HE-Tag: 1667605302-359336 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000145, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On (22/11/04 10:43), Minchan Kim wrote: > > > Configure 2 alternative algos, with priority 1 and 2 > > > > > > echo "name=lz4 priority=1" > recomp_algo > > > echo "name=lz5 priority=2" > recomp_algo > > > > > > Recompress pages using algo 1 and algo 2 > > > > > > echo "type=huge threshold=3000 algo_idx=1" > recompress > > > echo "type=idle threshold=2000 algo_idx=2" > recompress > > > > > > Maybe we can even pass algo name instead of idx. > > > > Or pass priority= so that interface that uses algorithms has the > > same keyword that the interface that configures those algorithms. > > Hmm, why do we need algo_idx here if we already set up every > fields at algorithm setup time? > > My understaind(assuming default(i.e., primary) algo is lzo) is > > echo "name=lz4 priority=1" > recomp_algo > echo "name=lz5 priority=2" > recomp_algo > > echo "type=huge threshold=3000" > recompress > > It will try compress every objects which greater than 3000B with lz4 first > and then lz5 if it's stillgreater or equal than 3000(or same size class). One can be SW one can be HW. So I thought about having flexibility here. Instead of doing for (idx = 1; idx < MAX_IDX; idx++) { len = zcomp_compress(zram->comps[idx]); if (len <= threshold) break; } We would just directly use the suggested algo. But we probably don't need that param at all and can use the loop instead? [..] > echo "name=lz4 priority=1" > recomp_algo > echo "name=lz5 priority=2" > recomp_algo > > # or I realized to change lz5 to lz7 so > echo "name=lz6 priority=2" > recomp_algo So the latter should delete lz5 at idx 2 and put lz6 there? I can add that.