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 73BFBECAAD5 for ; Mon, 12 Sep 2022 14:58:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F13E86B0071; Mon, 12 Sep 2022 10:58:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EC2398D0002; Mon, 12 Sep 2022 10:58:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D89C38D0001; Mon, 12 Sep 2022 10:58:35 -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 C88D86B0071 for ; Mon, 12 Sep 2022 10:58:35 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2E26440CC7 for ; Mon, 12 Sep 2022 14:58:35 +0000 (UTC) X-FDA: 79903739790.28.EFBB3EF Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) by imf30.hostedemail.com (Postfix) with ESMTP id C85A8800BE for ; Mon, 12 Sep 2022 14:58:34 +0000 (UTC) Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-3321c2a8d4cso104388707b3.5 for ; Mon, 12 Sep 2022 07:58:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=e79vEofZ9N/t1Dt7lOD1eiAAOpYQXB8oOUTFmaudJBM=; b=lvYsOFuatcWlJlG4i5qGjRIb71C8BQ8EpDowfMruzhqCvf7ifF5tLenQVQvNYuxufI uDn+t/B0S2oujl27GUOeGfqbqzzHJHKoUrWV/GF5H9Z0WhbKaQA/VmU1QSDll6q6bqKS 30xxyntO7ldDcWDciH3CtfNwdOnM2oHapKd30MLn3ee6HYjq/KSHNJQZq7+1BkMg4EkJ fee7E3i0HtApNkO5OZHEisn9txCn4kAb9MhqsZqo/r+1eKT3OXc1nrdRddJKpG1cIKi3 Ko67m9q4l9+ln44bYsBNy3ow791ab7K9Duvq8fd76ejIbHEPV12bjn17dPJ0ejr+1QUU cSTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=e79vEofZ9N/t1Dt7lOD1eiAAOpYQXB8oOUTFmaudJBM=; b=jLhG6em5213Q5TFexdJKo3jf8ObYAfd9YEW8RYXBYnK5pWKep/O1q+N/JYp2gb3rgB fxmtyJoZ+NJzN0zLujdI8c6icAdADxM+uJuloDTiz25fndSKzebGLBVJ7zBocbTsVcFE CbQ7n44aBTX0XBeEj5FP9vbuU1qOX7foJqi0dvzN4hiryHkb2Fjah6tVZXsGD4t8HdcM SGrp/RAhVGRZzV0LwhZPzCbMcQYslCA745Vhmv7nBFR4E7LuQ/g8cu51TyzzTjgE08W6 PEJnHm7m4OJiSCOJFFE/UqrtIgVoeU3VOmsDNPhAj0MslfRcHHKoiS410oLu9kysEZpS nSCw== X-Gm-Message-State: ACgBeo2UCY1OaD8UJ2uCo6CpFUisZIGfNBvFzz2HX3os1QdL1cUNdPBK gdB6O8OO9xgmHygw7tfbrQ+kZCNZ/KMwuTp2wcwD2w== X-Google-Smtp-Source: AA6agR7VyYhulbHt8mYulK7Jpgrv1T3Y+ll1VEkVzwAq76KYaxRXPf9PCzn7yb/IREE0WHfoM6te/gsnAP9a3TPna5k= X-Received: by 2002:a81:6c4e:0:b0:345:3877:9ed7 with SMTP id h75-20020a816c4e000000b0034538779ed7mr22074247ywc.515.1662994713961; Mon, 12 Sep 2022 07:58:33 -0700 (PDT) MIME-Version: 1.0 References: <20220912053755.156704-1-senozhatsky@chromium.org> In-Reply-To: From: Brian Geffon Date: Mon, 12 Sep 2022 10:57:38 -0400 Message-ID: Subject: Re: [PATCH] zram: do not waste zram_table_entry flags bits To: Sergey Senozhatsky Cc: Minchan Kim , Andrew Morton , Nitin Gupta , LKML , linux-mm Content-Type: text/plain; charset="UTF-8" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662994714; 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=e79vEofZ9N/t1Dt7lOD1eiAAOpYQXB8oOUTFmaudJBM=; b=TncsXhxi7KXBn35Kp0DJ+u0NYNaJZByvYYF6dhW1SPxSRwGT3Cs/SVPTvxSM+Vo/w9kpbA vBqBvoOsww+t8Nh97PEMRO8s10D8hxRLlbcX44vKiTH47DS+Ap2SDjkgb2sx5TuceolrUC dmJcAERbKwvoYTAiCtQPBOQWNVE0WAs= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=lvYsOFua; spf=pass (imf30.hostedemail.com: domain of bgeffon@google.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=bgeffon@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662994714; a=rsa-sha256; cv=none; b=LiFQhfb5rWlgqAaNDZYCwSw7CShaChRy1XdUwKvR0TzmBEw63YqX7eejwhsxsa0rb87ZEC +HxJODqTKJFwxDRgnf+3qphxUNePcGh/ylCt4KNb2jTt7SmH4nPYUUI6PTSxcBNdps+lP4 EaJJNmTLA3hMx8MiKRas2p4Q6MT599A= X-Rspam-User: X-Stat-Signature: p9tg7ts9xakb7jwatocum6egiq7zjgt5 X-Rspamd-Queue-Id: C85A8800BE Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=lvYsOFua; spf=pass (imf30.hostedemail.com: domain of bgeffon@google.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=bgeffon@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspamd-Server: rspam08 X-HE-Tag: 1662994714-34830 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: On Mon, Sep 12, 2022 at 10:51 AM Sergey Senozhatsky wrote: > > On (22/09/12 23:37), Sergey Senozhatsky wrote: > > > > -#define ZRAM_FLAG_SHIFT 24 > > > > +#define ZRAM_FLAG_SHIFT (PAGE_SHIFT + 1) > > > > > > Why not just hard code 16 with an explanation that it cannot be > > > increased further using the analysis you did in the other thread? It's > > > going to be tricky to reason about how many free flag bits actually > > > remain with PAGE_SHIFT across all architectures, especially given we > > > have no architecture specific flags. > > > > Well, zram should not make any assumptions on arch code. How do > > we know that PAGE_SHIFT 16 is the max value we will ever have? > > Some arch can come around someday and use PAGE_SHIFT say, 18, > > and we won't be aware of it (using hardcoded value of 16) until > > someone hits a really hard to debug problem in zram. > > And I'd probably also add something like this, to keep us alert should > we run out of bits in the future: > > --- > > diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c > index f3948abce2f7..07913bcdb5c2 100644 > --- a/drivers/block/zram/zram_drv.c > +++ b/drivers/block/zram/zram_drv.c > @@ -2449,6 +2449,8 @@ static int __init zram_init(void) > { > int ret; > > + BUILD_BUG_ON(__NR_ZRAM_PAGEFLAGS > BITS_PER_LONG); > + Thanks Sergey, yes, with the BUILD_BUG_ON I think using PAGE_SHIFT is fine, my concern was primarily that a flag could overwrite a bit of the size field, a BUILD_BUG_ON addresses that. > ret = cpuhp_setup_state_multi(CPUHP_ZCOMP_PREPARE, "block/zram:prepare", > zcomp_cpu_up_prepare, zcomp_cpu_dead); > if (ret < 0) Thanks, Brian