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 810F1C38A2D for ; Tue, 25 Oct 2022 01:21:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F37CB80009; Mon, 24 Oct 2022 21:21:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EE79980007; Mon, 24 Oct 2022 21:21:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAFC480009; Mon, 24 Oct 2022 21:21:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id C7ADC80007 for ; Mon, 24 Oct 2022 21:21:08 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 98D6A40A30 for ; Tue, 25 Oct 2022 01:21:08 +0000 (UTC) X-FDA: 80057718216.09.2A527B6 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by imf15.hostedemail.com (Postfix) with ESMTP id 41E8EA0002 for ; Tue, 25 Oct 2022 01:21:08 +0000 (UTC) Received: by mail-pl1-f173.google.com with SMTP id 4so4032581pli.0 for ; Mon, 24 Oct 2022 18:21:07 -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=LRvrfdB7zmhZ+11/1OF+yZjQrE3psIebH4Rs6IW8U5U=; b=jFEZOkqzQnXAvOLt1aoDE8WoO3aWaZ4sdpyKagS/dw0grBXvpDiViiyPWeRLwBGJPz 4PfjdpD0cVEcMJUKBISct1RLX2bjNyUUWo3v8Hh+eHyW2VNnekLWMZYFX0cpAzu28WDc Omv+PtHH4WkZmUeBzDgDTToD8/vFV4LOgJW8A= 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=LRvrfdB7zmhZ+11/1OF+yZjQrE3psIebH4Rs6IW8U5U=; b=mbc544dd8IjQAbn2xWQnIECScgQW6m9tcCLAstyKvhTo6ffcRMH0wnT7exvOY23bj9 SCs1/H0m6ubPwvWypk9mNSBz0um8vfQKXmbH3TyN75dXMW5guAJS3jHmxEcrohPiYmmt rkY//CB8rAUZ/hFW/qSNJynTkNP9W0T0B+deC55fhC1G172hBLUVZQ+XEaV4lAERR1Ai Z46Xzh3IkXbRQm3GZl+eW0EkPli5drv6jApGChvSOKBszqPPOE2YiHyFqGYFVgkBF4JP 8ALsi6fgbzECunWCmKN0RxPnrVO0xPkWIdrZ/x/crlIoBJmAvW+a90NJQRPnq2zL1JsG 5sSA== X-Gm-Message-State: ACrzQf1Ja4n7Jo1yynDax5pILSBHDbmX7w1saBhhHPdRa8yVlkHbRIje o69S8t7f2NYvnLaXiM8JL7qfww== X-Google-Smtp-Source: AMsMyM6JQUizHWRy50ZyNimKExpyj0NoIRw2W9lNzxDo9u+rGLsI9p85efdKHeqLWFeCuourO3+kjw== X-Received: by 2002:a17:902:ccc4:b0:186:6fcb:3fcf with SMTP id z4-20020a170902ccc400b001866fcb3fcfmr23036976ple.100.1666660867062; Mon, 24 Oct 2022 18:21:07 -0700 (PDT) Received: from google.com ([240f:75:7537:3187:c493:65a6:2d64:1325]) by smtp.gmail.com with ESMTPSA id s1-20020a17090a508100b0020a9af6bb1asm444071pjh.32.2022.10.24.18.21.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Oct 2022 18:21:06 -0700 (PDT) Date: Tue, 25 Oct 2022 10:21:02 +0900 From: Sergey Senozhatsky To: Andrew Morton Cc: Alexey Romanov , minchan@kernel.org, senozhatsky@chromium.org, ngupta@vflare.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel@sberdevices.ru Subject: Re: [PATCH v1] zram: add size class equals check into recompression Message-ID: References: <20221024120942.13885-1-avromanov@sberdevices.ru> <20221024135909.e351a2dde4eea521f359a04b@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221024135909.e351a2dde4eea521f359a04b@linux-foundation.org> ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666660868; a=rsa-sha256; cv=none; b=Qac4pw30k10o1vEVIa2KVSqZsg7b6AujMEezvuPBoXjG3LolUf7v+lcAJfdrIH+AmU8ylw pwsLJmZRFkPYSTbUV8VcM37tmlydnOOq7wmJvb8UcowU4W/OdyGv24aIcCCzYiPSRF4lRa NQ08bmF1/Aldk0y8LpSuDwy6qTSotQg= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=jFEZOkqz; spf=pass (imf15.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.173 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666660868; 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=LRvrfdB7zmhZ+11/1OF+yZjQrE3psIebH4Rs6IW8U5U=; b=Ng9/Jo+vmgC8ZOsRh+7grf6rHLQjROMj5UZlhuk0H616XBR3XkLUCVEDOPFvHncIwLKU8m j/wrJrxElOr6T30grzEC73EvB7f0cKLd8JaoOTrf6E7JOtGjxUC9odiGCFD6yQWZemppLX 3sSn4faNG+ovbCe9PEQVsKzDFJx++lA= X-Rspam-User: X-Rspamd-Queue-Id: 41E8EA0002 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=jFEZOkqz; spf=pass (imf15.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.173 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Stat-Signature: 5f1h5769iun6h975sxkcq5exhic6zk5q X-Rspamd-Server: rspam03 X-HE-Tag: 1666660868-344972 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On (22/10/24 13:59), Andrew Morton wrote: > > It makes no sense for us to recompress the object if it will > > be in the same size class. We anyway don't get any memory gain. > > But, at the same time, we get a CPU time overhead when inserting > > this object into zspage and decompressing it afterwards. > > > > Dumb question: is it ever possible for compression to result in an > increase in size? That's a good question. Re-compressed object can be bigger than the original compressed one, but this should already be taken care of. We do if (comp_len_next >= huge_class_size || comp_len_next >= comp_len_prev || This checks whether recompressed object is above huge-size watermark and whether recompressed size is larger than the original size.