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 D0A0AC4345F for ; Mon, 6 May 2024 05:21:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DA3926B007B; Mon, 6 May 2024 01:21:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D2C6A6B0082; Mon, 6 May 2024 01:21:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA5E06B0083; Mon, 6 May 2024 01:21:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 93C616B007B for ; Mon, 6 May 2024 01:21:24 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 13BAEA1358 for ; Mon, 6 May 2024 05:21:24 +0000 (UTC) X-FDA: 82086822888.14.245CDF4 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf13.hostedemail.com (Postfix) with ESMTP id 65A8A20002 for ; Mon, 6 May 2024 05:21:21 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="tqHS/vGn"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf13.hostedemail.com: domain of masahiroy@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=masahiroy@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714972882; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vWjxZFAQtUzSG8ZjNj2MYhuEH9iCsMprzk8/RIqmecw=; b=o+9JNsHvHoIEUpJMqcTxhDjjSd/i12CcvwEJJK+3ZpQTUPzr8s5M7MXn+lH2ou0H8gHD3V Uk27xsaTHZl78zwMeVBYndV6ZE6MBRna22jTEcQQ2XKJZNXnpP9bpjltE1xPfw5GDGmYeb +OX+FSDGkROcU0pJU83cxzaq+QcsG9g= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="tqHS/vGn"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf13.hostedemail.com: domain of masahiroy@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=masahiroy@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714972882; a=rsa-sha256; cv=none; b=KFHPBgmo6Qc/wldYN3rbgC53oeir86CHwI+H/Cif+O03e+b/PZzC52LDO3LtXAWxNCmo4W y7ltgBMA+ADOAki7OhaD2WyHV16SBkoGKm0bCeD3lxhfcIBCYnUEZd69dQDT3LVTZPCuR2 Vs9sfHiykyviHJNag4+eb34salb0ivA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 76A39CE0B41 for ; Mon, 6 May 2024 05:21:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B40B2C4DDE0 for ; Mon, 6 May 2024 05:21:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1714972875; bh=IKlIvjuBn/H754DI9jvJWcFPcdV3jR8qdRnrj4+WI+E=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=tqHS/vGnvtQgm5ottAK403iYyDc6/kLmsTqJatmTnLywHGL2J4Yx3BQFHn8kIh5py nAooPFJ/9D/gp80HpsyAE7VLHtgoEXN2oFlLX5jPGy9UcaNhHy63gOMOzCBNTTjYzY zTp1VSdM3dp9bb6a1cRiUxYBB01w14LtjpGUitKZvmBd////F+XFWc+2WhNuCayL1f 5DKi+xN1JCPwBItgzdC22IH1kLTrDRX9bueAA25gRiT5J7ruCdhav0YQqrZ4kFm33e GoiquvMi/ejmmVn8rmJXrvcabBTLqBrTOjH9PoG8HDm8g2HgzSTiZfZk5HaOctZgEA vnVuNTv7yqmXw== Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-51fc01b6fe7so1169477e87.0 for ; Sun, 05 May 2024 22:21:15 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCVeH500UomN4XJm5BvlamQVzDSsRInonncNFL8VYpoiGd+sm2M0INbs7Xn/MuBbHJ9OquIaXq7pdbbC+5uTA3Q8Ilk= X-Gm-Message-State: AOJu0YynzmtYGLSOfbiyteuZG3L4gQ0KUpg/KIyjtQtTxtRl3OjVDzHs PbJwCUElPHUX2MsE8ryEfzLSLmFMvCG5etEi3/8YSvAOUAkJlnNF+KHO6saji/PrJZ1V2+uEwQj 5oTFvgIj9YJwy0KkDsolFBv0njbQ= X-Google-Smtp-Source: AGHT+IHQJhS1znz8gVwOUrqUtv4OQz0bCGrfCQ1loRBZocjB8uJP1gVAFiA08qYh/ghUaXKQtWYvCUkCZIIXeKTn4Jg= X-Received: by 2002:ac2:4189:0:b0:51d:aaf7:a92e with SMTP id z9-20020ac24189000000b0051daaf7a92emr6626911lfh.47.1714972874359; Sun, 05 May 2024 22:21:14 -0700 (PDT) MIME-Version: 1.0 References: <20240503091823.3616962-9-senozhatsky@chromium.org> <202405041440.UTBQZAaf-lkp@intel.com> <20240504071416.GH14947@google.com> <20240504161004.f5a0aab5e5aa1033d4696c20@linux-foundation.org> <20240505043957.GA8623@google.com> <20240505051305.GB8623@google.com> <20240505064832.GC8623@google.com> <20240506032207.GD8623@google.com> In-Reply-To: <20240506032207.GD8623@google.com> From: Masahiro Yamada Date: Mon, 6 May 2024 14:20:37 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 08/14] zram: check that backends array has at least one backend To: Sergey Senozhatsky Cc: Andrew Morton , linux-kbuild@vger.kernel.org, kernel test robot , Minchan Kim , llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Linux Memory Management List , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Arnd Bergmann Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 65A8A20002 X-Stat-Signature: rmyu6dc5fnji44fga5tht15wqdohcnma X-Rspam-User: X-HE-Tag: 1714972881-530381 X-HE-Meta: U2FsdGVkX1+t98ZpSWJsVzxDfbeoC8649n5jnQqnIgY1ibJJDrqnEKHD841P7C9UWbfZMRQ6xemLy2wYe2nzBaUBQ4bh0x+ljFLzhqRsmweFn4owS/BcAKgkojcnMxDwKqJsXzfF6b9pRCwn94cVV+pgrLaiCX6ycAJ25WwxC8nT6RsZLd6RuIDn5gFVX1u5rxrYZm8rt6rbn18DpRSZKRa5nyY5gKYEC6gBxJpq66r09ciSSybPIIjNBJLzkkDnnNenD5Lw6Z5wpJ8yb9nhAf3wpsatuo7tnEp8K13AadDnpzhTsTOnkLelSRaWyvRMmp29AuIwHJpYCfCOPi4/iqs269SAcGS57q/07XZ+mPRKxgLvBhuxeBflHTGBSbBxlI0qNuRVeS6SXYg+cukBgGcKmuzL5Tgaj9DBgHZmlrv2eXT+WC+auYuVLA4th8ppn4d5NpUqlT0Ivw1/7s9PRuGgJWzjiXwqNrYBFgnlJ8TYPiYCrIORDjPo9StmX0BsnM0P+Z/7rgFKEpfvd8UKZz/nrlLTkktCeotvBkfRC/oTZ5cizQyzuHkooNtbud6JbbR0igktosL1XxAZ4HSRexS/NNbfOUXBiVJCLVtDjpdnsD+K4Pru/Wn56T+PppV48gTuSWYNOFBeulIVmIEJv1+et944nSQataShDQpWEw4gDJylcjpl+5VDKNQfxVubePjhECsjyaJz3ULywJAJTYg94+V6mTg39mztPrA/oDEK4TDBdZu+NYidDHFzrwN1/CoSgA8UIAHI69jNW5APdaCNjGC5BywUu3rJn9FEdSbh3la2y3PwbrvdDTeF+j7fe5QdyX5t8KuQmxS8euuo0JGpWjope1urDUed4qprJbVsFBEo0paaQFpHmXXyws+Dm3B6vtqI5tgSqRxgmG2KKjonDACXZgFgOhPw/LndnfkYxr6NoRjlOap7gYF9oPAxRpN5gUC3YOLPbNzEGsb QTKMw+uU JCa6vMtIV3n4iC0/Bt+OK3Mp/m9Iy1AXN6uYnqcThcIiY+8oHb0t2A470/QKIwAnENWYDFN4bDXcOPn225joFnY0MAMX36jGquck8ljPwbBiZYw1ATCS06ImxdgcHU525ks1twTmTXp6BdocLmZs3wiBEyQLeNjXAsBJ7JRHUMglr1C6VSs8X/Y/ndyjmnUlDyxGIvfcH1pbWPHaxNezPJ4C8Z4goYMlhkpUN2sxIWBc2Pwe2JB8CLzQuwBNh5InpClsApeQ5g4rHF9OaWV3TsfclUg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.002357, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, May 6, 2024 at 12:22=E2=80=AFPM Sergey Senozhatsky wrote: > > On (24/05/05 15:48), Sergey Senozhatsky wrote: > > On (24/05/05 14:13), Sergey Senozhatsky wrote: > > > On (24/05/05 13:39), Sergey Senozhatsky wrote: > > > [..] > > > > > I guess just pick one if none were selected. > > > > > > How do I pick one if none were selected? Does Kconfig support > > > something like that? > > > > This triggers Kconfig error: > > > > config ZRAM_EMPTY_BACKENDS_FIXUP > > bool > > depends on ZRAM && !ZRAM_BACKEND_LZO && !ZRAM_BACKEND_LZ4 && \ > > !ZRAM_BACKEND_LZ4HC && !ZRAM_BACKEND_ZSTD && \ > > !ZRAM_BACKEND_DEFLATE > > select ZRAM_BACKEND_LZO > > > > > > drivers/block/zram/Kconfig:17:error: recursive dependency detected! > > drivers/block/zram/Kconfig:17: symbol ZRAM_BACKEND_LZO is selected by = ZRAM_EMPTY_BACKENDS_FIXUP > > drivers/block/zram/Kconfig:52: symbol ZRAM_EMPTY_BACKENDS_FIXUP depend= s on ZRAM_BACKEND_LZO > > > > > > I'm a little surprised by this - EMPTY_BACKENDS_FIXUP does not depend > > on ZRAM_BACKEND_LZO, it depends on NOT ZRAM_BACKEND_LZO. > > > > Let me Cc linux-kbuild. Kbuild folks, how do I workaround this? > > Is this how one does it? > > config ZRAM_BACKEND_LZO > bool "lzo and lzo-rle compression support" > depends on ZRAM > default y if !ZRAM_BACKEND_LZ4 && !ZRAM_BACKEND_LZ4HC && \ > !ZRAM_BACKEND_ZSTD && !ZRAM_BACKEND_DEFLATE > default n > select LZO_COMPRESS > select LZO_DECOMPRESS > > > User still can select N and then we'll have empty backends, but > at least default is Y if none of the algorithms were selected. > Is it good enough? I interpret this sentence into: "randconfig will eventually disable all ZRAM_BACKEND_*, causing the build error again. Is it good enough, Arnd?" Some possible solutions: config ZRAM_BACKEND_FORCE_LZO def_bool !ZRAM_BACKEND_LZ4 && !ZRAM_BACKEND_LZ4HC && \ !ZRAM_BACKEND_ZSTD && !ZRAM_BACKEND_DEFLATE depends on ZRAM select ZRAM_BACKEND_LZO config ZRAM_BACKEND_LZO bool "lzo and lzo-rle compression support" depends on ZRAM select LZO_COMPRESS select LZO_DECOMPRESS OR config ZRAM_BACKEND_FORCE_LZO def_bool !ZRAM_BACKEND_LZ4 && !ZRAM_BACKEND_LZ4HC && \ !ZRAM_BACKEND_ZSTD && !ZRAM_BACKEND_DEFLATE config ZRAM_BACKEND_LZO bool "lzo and lzo-rle compression support" if !ZRAM_BACKEND_FORCE_L= ZO depends on ZRAM default ZRAM_BACKEND_FORCE_LZO select LZO_COMPRESS select LZO_DECOMPRESS BTW, "default n" you are adding are redundant. --=20 Best Regards Masahiro Yamada