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 312C3C43217 for ; Fri, 4 Nov 2022 04:53:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 339FF6B0071; Fri, 4 Nov 2022 00:53:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2E99A6B0073; Fri, 4 Nov 2022 00:53:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D8736B0074; Fri, 4 Nov 2022 00:53:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0E2186B0071 for ; Fri, 4 Nov 2022 00:53:18 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D5BDCA05AD for ; Fri, 4 Nov 2022 04:53:17 +0000 (UTC) X-FDA: 80094540834.20.5031767 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by imf27.hostedemail.com (Postfix) with ESMTP id 6418140004 for ; Fri, 4 Nov 2022 04:53:17 +0000 (UTC) Received: by mail-pj1-f42.google.com with SMTP id v4-20020a17090a088400b00212cb0ed97eso3680435pjc.5 for ; Thu, 03 Nov 2022 21:53:17 -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=4I9Ji6tAVDHDLrwylf39oWxVLIphdPF1Bu4Q4pbq9AQ=; b=OA3XeghixmpcAh6FrsrhEfDl1v68dCm84uVLp2ArnIlXI1vR0Pi/keyugLU80o1PpK wxnt2M8cQAWeonEAhpDFxZxofb5vN9fWAffaNZ0w7a4ODfBxfV5O63+loRSYW7i7mk9L mBnzvWUehb/d706ayW3hsUPOYy3v2xw9HyQig= 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=4I9Ji6tAVDHDLrwylf39oWxVLIphdPF1Bu4Q4pbq9AQ=; b=ClFYvUgQikkLDn6/xLiplrKoruy/FbeTSdnQCrO1/bm9bSwyJNeJpNsoRQUpRbO1/B Q7f8T1e0PC3K5AL9uTgHpOedKuSIZUhrmGxpls7W69Kg3TLlFG/wuELufDKkD0GO721D K5re3r2oxlQeGwUtJTtxc/+WIkozvnxOcHUsyycv1erOveyVFP18INax1ZjUb8iik2b+ deYfsxF9+bVD6HJT5Ry1XOwhq9Rg0nzioktp0dtvdcNAlJZvJNKkllW2WQozSk1evs6k PW2Q6ERK59yo+S+HTMUOr9vlTT/+uVmm9gJOTjDG1R+WbDz/NlUTGEJCDmyessNkehuf Qcqw== X-Gm-Message-State: ACrzQf2QwHBTBbEeT0VfqQYZ1ZYELXNU1sgCdCNYH0sr4kQ6hss2zq6z P91NpJTzXYTZvClMPy49G8KWPw== X-Google-Smtp-Source: AMsMyM5QyTSm0c9TBvu/siTDATAl5JKUTlEG61Jiwk8uw0TimeNmzqp3m98ZHrakvj3zIBYgg8/pEA== X-Received: by 2002:a17:902:d4c3:b0:187:2b8:a4fa with SMTP id o3-20020a170902d4c300b0018702b8a4famr34754030plg.134.1667537596277; Thu, 03 Nov 2022 21:53:16 -0700 (PDT) Received: from google.com ([240f:75:7537:3187:f2f6:8f5:87c8:3aeb]) by smtp.gmail.com with ESMTPSA id az4-20020a056a02004400b00439f027789asm1543486pgb.59.2022.11.03.21.53.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 21:53:15 -0700 (PDT) Date: Fri, 4 Nov 2022 13:53:11 +0900 From: Sergey Senozhatsky To: Minchan Kim Cc: Andrew Morton , Nitin Gupta , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sergey Senozhatsky 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-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667537597; 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=4I9Ji6tAVDHDLrwylf39oWxVLIphdPF1Bu4Q4pbq9AQ=; b=k775pZaprXATzyDyfVLY//nunICJZDwEnbbE00Hl9tNRDQ/UEF4gy+rYg+oowSbA73rLSw wWqh3GsHLHOFXObQafrPsuUgA0BwAV9ql3Vz927mTyeRto0iSY9vJ9GSt49LBw7q0x7MhF DOTAtTl5o/XFcNxO57geNm4gyidCYpE= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=OA3Xeghi; spf=pass (imf27.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.216.42 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=1667537597; a=rsa-sha256; cv=none; b=POnBYg3Ck3KFWl5cEfs7VkB7FLgTWA751Y3NsOJ9yHCQ/NGFvq06h8FThrUTCdfE3ONUqx +wu8bzwR9zgVO9p4A2HvT7qqOxKafuZwkNi36PxVIenkzeEjnCxIJwRMo5QxfLKWqjFaQt HfsVpyD5gugHLoacjVqnGbdcI1JeOGs= X-Stat-Signature: unw37s6mbe9wiia1k1cpqnqybs55bi4c X-Rspamd-Queue-Id: 6418140004 X-Rspamd-Server: rspam06 X-Rspam-User: Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=OA3Xeghi; spf=pass (imf27.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.216.42 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-HE-Tag: 1667537597-371960 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000047, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On (22/11/04 12:18), Sergey Senozhatsky wrote: > On (22/11/03 09:34), Minchan Kim wrote: > > Yeah, I like the name and priority format. > > > > Only question is how we could support algorithm selection change > > under considering multiple secondary algorithms. > > So what I was thinking about, and I'm still in the mental model that > re-compression is a user-space event, just like writeback, extension > of recompress sysfs knob with "algo_index" (or something similar) which > will mirror algorithm priority. > > Example: > > 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. I still don't see many use-cases for "delete algorithm", to be honest. ZRAM is configured by scripts in 99.99999% of cases and it is quite static once it has been configured. So we probably can use the "don't setup algorithms that you don't need" approach, to keep things simpler.