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 07C30C6FA82 for ; Tue, 13 Sep 2022 02:08:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D2CC6B0072; Mon, 12 Sep 2022 22:08:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 583958D0001; Mon, 12 Sep 2022 22:08:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 449AD6B0074; Mon, 12 Sep 2022 22:08:05 -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 369C56B0072 for ; Mon, 12 Sep 2022 22:08:05 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 10C43120800 for ; Tue, 13 Sep 2022 02:08:05 +0000 (UTC) X-FDA: 79905426930.06.8A71BAD Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf15.hostedemail.com (Postfix) with ESMTP id BC69EA0093 for ; Tue, 13 Sep 2022 02:08:04 +0000 (UTC) Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-3450a7358baso122474677b3.13 for ; Mon, 12 Sep 2022 19:08:04 -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=g0oDvjtBK2VMBJ47PBfid9tISF3aZdmjyN5GalTdGoc=; b=H3ix/l4xybalXZ4LUIQ2BcjD1Ln9iwfZZDx2bCgXUfGOstyQXEwriY1lPwo+yLOKoH sOGeKqbAenfyvPs2QuGnSYj+4e1ILYo7RMv0z20/2cwY44l754TakT+NGCgGyrBoRAAD fMgLSUAIXwcl1zxDMRNnIqwQqR3kXAafFi02epl0BCzhF8m6n6IASf1yaePQcTf1mALQ mLnyQ2sxpD231eejfwnghYHdkXSz0EtgpHOSU2zVcGrL8lN7FE2qdOAVjZh7pAvv9MeQ Y6Bp/xiAb5T1dt421ivskyURuN0SjyK7UEgPOyJyPc7YOppPyp7ZnxXqQtuPLZwZbfhw dwHQ== 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=g0oDvjtBK2VMBJ47PBfid9tISF3aZdmjyN5GalTdGoc=; b=vv2/Y+joqp106sep+V6HMGPhoMaDQz7YQB18bA4IGg4e7ONsuhrOklOxmkUI30T/HN ZNuc9gQoZSTw/m8t7EUH5ntFOwyoUmya2gi7YnY/PUKdE/VmIpdvLkF6J+9I9gV7AZJ7 EpkFxXKbRIZCyGu7a64qbOA+FXHD4IQJTI2tobX/hBhu3xM/omp/1hrFebrPElsndJJS 3UD0cWpgCePqusyy5edRANCGnJNzoXpPZs3DcNMMiTP33jFKDN+6SdZGz+9OYHaSBqp4 B+WFYud137WLTnimBEFDYYS01NQp5VvPfVd3gzt25PiWd6N5ANsMSuuoGZcJjuC3+zLZ pthA== X-Gm-Message-State: ACgBeo2yDH3fmgu+dXPSIM8S3OIHc3VcqxxfUttcd6PIqU7vqG17Ci0N z66UO8miXZHByjVNIRwv7SxCjdwHn7pDnrcqEwppSQ== X-Google-Smtp-Source: AA6agR6CmjtxBnbAId0YEdeOQdD6gV/7WuXuQJudc6F6AQAIXlEPG8AJiQz8BmcsA2KAm5BJNW/NEGaHUIv+wVu+Mrc= X-Received: by 2002:a81:47c4:0:b0:341:2cab:a63c with SMTP id u187-20020a8147c4000000b003412caba63cmr25194352ywa.58.1663034883870; Mon, 12 Sep 2022 19:08:03 -0700 (PDT) MIME-Version: 1.0 References: <20220912152744.527438-1-senozhatsky@chromium.org> In-Reply-To: From: Brian Geffon Date: Mon, 12 Sep 2022 22:07:08 -0400 Message-ID: Subject: Re: [PATCHv2] 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=1663034884; 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=g0oDvjtBK2VMBJ47PBfid9tISF3aZdmjyN5GalTdGoc=; b=nLAYmfuX4hvudw8hmp1jQc2jlyJz68JHOggv0TM4IGPHyDdU6UlemDhVBUG0b9lZ/q6t6E im/F0AFK2Hel1VT4IcdRxaDyxk55febBmpLWWOFP5MQOGVxKUYA4gmPONGb4i/hAZ14uLE ISmSNu0weTiX2hZRh9t7OwVY5rZzk2s= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="H3ix/l4x"; spf=pass (imf15.hostedemail.com: domain of bgeffon@google.com designates 209.85.128.175 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=1663034884; a=rsa-sha256; cv=none; b=iTeOqzEevDPBcAX8JpL0k3CFHLIiDi5/HTRgunKHuV60Bx6mKNclR7ddk08LACetCP+Ttz H1hIEqGY1iWSY/9PtjNivf2bxPU15B0kPe5W/JE19snEnQvym8MLriPTNwonabuUW6vkYq ZiDjFNzUBYe2IVOLf60MylNGuGzgeJc= X-Stat-Signature: g4tnshtho4hc5m1whzfbdimq9t7nhz4s X-Rspamd-Queue-Id: BC69EA0093 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="H3ix/l4x"; spf=pass (imf15.hostedemail.com: domain of bgeffon@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=bgeffon@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1663034884-605100 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 9:54 PM Sergey Senozhatsky wrote: > > On (22/09/12 11:39), Brian Geffon wrote: > > > zram_table_entry::flags stores object size in the lower bits and > > > zram pageflags in the upper bits. However, for some reason, we > > > use 24 lower bits, while maximum zram object size is PAGE_SIZE, > > > which requires PAGE_SHIFT bits (up to 16 on arm64). This wastes > > > 24 - PAGE_SHIFT bits that we can use for additional zram pageflags > > > instead. > > > > > > Also add a BUILD_BUG_ON() to alert us should we run out of bits > > > in zram_table_entry::flags. > > > > > > Signed-off-by: Sergey Senozhatsky > > > --- > > > drivers/block/zram/zram_drv.c | 2 ++ > > > drivers/block/zram/zram_drv.h | 15 +++++++-------- > > > 2 files changed, 9 insertions(+), 8 deletions(-) > > > > > > 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); > > > > Should this be >= BITS_PER_LONG? > > __NR_ZRAM_PAGEFLAGS == BITS_PER_LONG == 64 (e.g. on 64 bit host) > means that the last valid zram pageflag (and __NR_ZRAM_PAGEFLAGS > is not a valid pageflag) is __NR_ZRAM_PAGEFLAGS - 1, which is 63 > and which is a valid BIT() offset for u64. > > So __NR_ZRAM_PAGEFLAGS == BITS_PER_LONG should be a valid case. I apologize, you are correct. Reviewed-by: Brian Geffon