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 01015C3ABC3 for ; Thu, 15 May 2025 03:14:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AAE536B00F8; Wed, 14 May 2025 23:14:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A3B296B00FA; Wed, 14 May 2025 23:14:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 886DF6B00FD; Wed, 14 May 2025 23:14:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6291F6B00F8 for ; Wed, 14 May 2025 23:14:45 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A0A55141165 for ; Thu, 15 May 2025 03:14:46 +0000 (UTC) X-FDA: 83443674972.26.629EADC Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by imf01.hostedemail.com (Postfix) with ESMTP id B1E1740009 for ; Thu, 15 May 2025 03:14:44 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=j68hdHCR; spf=pass (imf01.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.169 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=j68hdHCR; spf=pass (imf01.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.169 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=1747278884; 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=Ke+ZFg39oEAH9MFkUYY9Zn5xmk5/KryZdAYwMes8gXc=; b=PnI+wiCYuGdTzyGbnWgOxKeY41kgT6fun2+Sq9FIKnUKhWqCd+Q+XUaG8dTOb/yXEg+Q3Y IwKml6MqC3hwDTwlZOA3dgDsJNgAZ8SMUOZ/rwqgbYFgNSF3NR6rggzYd2mYgDcNVwMfj2 Qv8LFXThz4OmsDs7cGEOw/hOCElf0HQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747278884; a=rsa-sha256; cv=none; b=ekt6/kXDt1lkHsxO2jHh3JnHIzi9zufVfjO6Xc9rNeWTY05PzASPAx6CWx3bgHuom2FQcf mHs269IaFTYhy4/3aQmGTWPSbLmvwRcVkIQSq6gsIgXemtmf9nrhUE4vMBhaAKBlUMAlVH sOmrV62kaOq6EGJFCjsR929ETKM5DiA= Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-22fb6eda241so6390415ad.1 for ; Wed, 14 May 2025 20:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1747278883; x=1747883683; darn=kvack.org; 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=Ke+ZFg39oEAH9MFkUYY9Zn5xmk5/KryZdAYwMes8gXc=; b=j68hdHCRaIf31Bj1jb0n2nEKOq36gUfGIR2L4L4PyO6IXqMbU6AiAMsdQ+OlLieltP QtGgRCtVHDM42yCy4dRnH0SlfljyPBUad4LEiQkTMljBaWhl84M4tfe4Gs3SQ9IbocCq wnnYO0FduutU1yGWlh7Ed0qjk066dGVJDNCN4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747278883; x=1747883683; 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=Ke+ZFg39oEAH9MFkUYY9Zn5xmk5/KryZdAYwMes8gXc=; b=WoyZPnNY7qXO9ZtQri/VhaumGWceHy/z5Xkt/6oXV3CeHmF2pIo6ynZ8ajPIzksOdI d8uLCN7m4+/HD7ydh8qj9zDvwtp3JAddPUoyzOzQgNxl/2qnQptRpEE0qUnQDb254qxp TGD3jG22pPT2QcEQUOyuWGvk/rxYvM3O2gDwUVclh5ZOWsk60cY4M2kbcMQb1b3wEKBu /dATybUxVOg5un1ytM88EnaT7sv8DvAh7W1S8hx6W1HcD5048ZWya2w9t4wnbEyx9KR1 67HMckkJDg+d5H70avycpMw32PanEU1lv0P9M73cbB6Y6tDzTL+uhpRjy1fqP80csGoU 2PiA== X-Forwarded-Encrypted: i=1; AJvYcCXN9o9EB5BfUxbudT35Dp+aH7A3vtJIeDZbSLPScaG0Xh4Xpyvd0tcnHqLzTHuECM8TFUAjVckT7A==@kvack.org X-Gm-Message-State: AOJu0YycsTnXzgeOGJqlt6ISTN8LHqRYms72BLnI5vLmu9TOhQzJpg3g jgD8qPRgo61p+Onke1nIXI+6Lcn0gTQXA7Uq05Z1gASrIEeJ2137MiDDyMkxNQ== X-Gm-Gg: ASbGncuDJHy+JgrNdV0t4cjpV4LYxCaZxP9Cs1i5Eu4SwPl1XUcM+1Jae+Krzclu/ao lVzsS7iUMVzTMnh2c3uQTCHpPy7nA6Q2ZHQ3wsAeJaTAj9Se/RtGny+QfyDRppirs4S1m4/qd1S sk8suq8e67W9UKGUXRJpRMVpG+Z01Tv6Xao5vMIyFxIe6q5GVSk6AY2DIhM+D5Nezp7UQLYWIEi J/2Q8r4VycIkuDNdIfgedeBelgL4iJWzR/Zzj8YlCaVWVE5uSUQVSdsBhwR155wpdQqiWyZ6ee3 9j9fbCH88c/5mVn40IulEKaJjcrLgw+hUm1e7BbkRavJ7S8RtO4++CM= X-Google-Smtp-Source: AGHT+IEkz3t/NsqU/U2zVJ4a5qJQjuW6PX05CnNCXqcsl+p+DgfP5vaPCqGJ1JhYCgvLJSX+Hrulzw== X-Received: by 2002:a17:903:2350:b0:223:536d:f67b with SMTP id d9443c01a7336-231981a2dd1mr94079155ad.38.1747278883582; Wed, 14 May 2025 20:14:43 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:291c:c511:a135:fe23]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc7555026sm105355925ad.54.2025.05.14.20.14.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 20:14:43 -0700 (PDT) Date: Thu, 15 May 2025 12:14:38 +0900 From: Sergey Senozhatsky To: Zaslonko Mikhail Cc: Sergey Senozhatsky , Andrew Morton , Minchan Kim , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Heiko Carstens , Ilya Leoshkevich , Herbert Xu Subject: Re: [PATCH 2/2] zram: support deflate-specific params Message-ID: References: <20250514024825.1745489-1-senozhatsky@chromium.org> <20250514024825.1745489-3-senozhatsky@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B1E1740009 X-Stat-Signature: bfqpc9je5b5sj1or3qk6scugj7cykt9s X-Rspam-User: X-HE-Tag: 1747278884-120101 X-HE-Meta: U2FsdGVkX1/nOVJWbdLbV447ge5vPWDGB9l06FuARqZteaencIu4YS1f4K2GyWQOlztY6dpCPMGOlpsEoaLMGeXUKYGqySySFItbHz9RTERP/55Aq7WdMEIZmZ7j+r5RonsFg8asQ/YWr+FQ5Y/Ze72l99kpmoVxfhAcRR7i4ek7mz66OCpv6Mjew06Q1MP7wIh5MxlOwLS3EYV/U28ImVDmwTA7USYsBG82a0W1mpiKfSWKF2C7a+x0H90g35WCyrF2BjELL9AUpafC26rFhyYSr0yE0VOaw7mnSOREJ+/OmPwfIADVyfAeKSDpspEKNjRoN4QqnGwZWTfXG5fqaTThVAMq2A/IhtQYcVylG4z8BXBCmo5m3mBOSDZvEo79ga6T1bKnoYqmn/chhXFDgmmzMwqS3JrdyEPeiyVFfOs1tn00+U1mDVD/z227pYwBNJoMIfroz0kQdeYkUBBk7QKlqG7YkgLjE4N8rHwI9VdRsaiggX6QbO9KKdcCH5QpULtz5aoUUHL+5G9odwKzfaK7eXwqGtI5lRQi5OGbUdRXykcJRdThtW8n4JDxgCWWaCNox0b+sbjCe+yV9NLmKmhdTIP37p4SjWzZaLgJZ8KXiI29BCXb90kIeUa0fshr5yukCTUZYaoKtXnCYoAp5sWXsonv9SEcvChh4/fGw8stmXkFakfpiMPOTLjz6X2rI532I16DoX3aO9z13Oa0waQRXNALP4GpkqVTXKfC6+cc3WO/q6eIea5vuPEvS0sW81vKwgKQ8JpbpraV4MZ4uYW8K8E4hlBDvqlUy7EvkCG7Ihdt9onfgJ0ZjkwX4u1+ZyExBNVxFvEuhEcG/EF4Q/2PPc9cDG17bpF441N2QW7OsEsXxgJcoMCEk0+npyNoxUXY+z9Jio5mjWIUx+IpaPrAnKn/8iXM123Im7nzjzXNEDnyTJNg9+/oGGHjrbJ0pJHPdlApGP+MLR0GmV3 dqc+JZ+B zH3ebldd6lNPN+9krIafeoPftqpclC/PpbhGqb0hJ025mmRbcRQDr0wTnYulIOc9f1hUy+uZg59PfQF0Xj8nNrtw1OdZpcAIDkxLatVYs9E9+vQmpeLymxiHq8JqwSu8BsUoN2SBgvFXgVT+Y1vmcuYyNKmx0138pF8OXCRvQcUlN49eH5MDXdOy0zDSLeo1FFCXeQQTEKZm7659bBImQ3B2ilFhWemLDXHaXghG8yDJdeyk8++9lZuB7feTiw/BseYYaEgkkLSWIuMcMJ0z44CTTXV8KwVVvwUAnZGMtwO+AvejiKrvmPSxVGpYjH9R2fSm6/9awUIdlmnVx3nAiysPEO7z+MLkreLI+U0sPXEorpn8KwUrfV+I4u6dd904mIKZA X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Cc-ing Herbert On (25/05/14 12:58), Zaslonko Mikhail wrote: > Looks good to me. > > Just a minor comment. If we intend to use raw deflate only, like we do now (no zlib header or > trailer for the compressed data), we should probably change deflate.winbits to unsigned and > pass '-deflate.winbits' to zlib_deflateInit2(). Yeah, so in zram we can use only raw deflate (we decompress only what we have compressed earlier and the data never leaves the device.) But in case of Crypto API I actually don't know, added Herbert to the Cc. > Also, here is another patch suggestion from my side on top of this one. > Let me know what you think. > > ---8<--- > > zram: Utilize s390 hardware deflate acceleration for zram > > Utilize s390 hardware deflate acceleration for zram deflate compression > by default when the facility is available. > > Signed-off-by: Mikhail Zaslonko > > diff --git a/drivers/block/zram/backend_deflate.c b/drivers/block/zram/backend_deflate.c > index b75016e0e654..5bfc57522e3a 100644 > --- a/drivers/block/zram/backend_deflate.c > +++ b/drivers/block/zram/backend_deflate.c > @@ -22,10 +22,23 @@ static void deflate_release_params(struct zcomp_params *params) > > static int deflate_setup_params(struct zcomp_params *params) > { > - if (params->level == ZCOMP_PARAM_NOT_SET) > - params->level = Z_DEFAULT_COMPRESSION; > - if (params->deflate.winbits == ZCOMP_PARAM_NOT_SET) > - params->deflate.winbits = DEFLATE_DEF_WINBITS; > + /* > + * In case of s390 zlib hardware support available, > + * use maximum window size and level one as default compression > + * parameters in order to utilize hardware deflate acceleration. > + */ > + if (params->level == ZCOMP_PARAM_NOT_SET) { > + if (zlib_deflate_dfltcc_enabled()) > + params->level = Z_BEST_SPEED; > + else > + params->level = Z_DEFAULT_COMPRESSION; > + } > + if (params->deflate.winbits == ZCOMP_PARAM_NOT_SET) { > + if (zlib_deflate_dfltcc_enabled()) > + params->deflate.winbits = -MAX_WBITS; > + else > + params->deflate.winbits = DEFLATE_DEF_WINBITS; > + } I'm not sure if we want this much of s390 specific code in the generic zram/Crypto API code. Both of these params can be configured by user-space via the algorithm_params device attribute.