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 C02EEC636CD for ; Fri, 10 Feb 2023 05:16:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 55FBF6B00FA; Fri, 10 Feb 2023 00:16:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5104C6B00FB; Fri, 10 Feb 2023 00:16:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3D8826B00FC; Fri, 10 Feb 2023 00:16:38 -0500 (EST) 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 30B5A6B00FA for ; Fri, 10 Feb 2023 00:16:38 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id EE5AC161335 for ; Fri, 10 Feb 2023 05:16:37 +0000 (UTC) X-FDA: 80450222034.11.D2D384E Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf12.hostedemail.com (Postfix) with ESMTP id 33B7640009 for ; Fri, 10 Feb 2023 05:16:35 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="rgfOLRi/"; spf=pass (imf12.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676006196; a=rsa-sha256; cv=none; b=QpwL/H3y9+GtMPbEEa1VdQiPjbUtwBM0yiXl+Ga2sBbyYXf7lRA3eTRa+fISfNRUq0jlVZ vue6nt1IrZAgn2JzyVdghSGpi+DmxW0KSemESNAkqixIT5VVeIMpYJkFfKjAqLMFliAHen OkcdxF1X5B2EzNZ8neD6xqh5QVSJmJE= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="rgfOLRi/"; spf=pass (imf12.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676006196; 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=+AzscG052nU7edeh7dwTYC41mb6Aa4soKDmyuGWgVTA=; b=NtQWrjNm2cdVOUvdtXlnhSQpXbYG+vFTJq4mZSclpitpAynSbNc3FwDEoZl9Ov/HYxX3DT LJebwW5RpVi1jOo+CGfQmU1ET2JyYfAGeSi0rkGaRy9zJ851GBCLhjDGhtNzCPvTgMclns +w2ju1+6/BGTBa7hTVwdDnuO7AQxUjo= Received: by mail-ej1-f48.google.com with SMTP id m2so12837826ejb.8 for ; Thu, 09 Feb 2023 21:16:35 -0800 (PST) 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:message-id:reply-to; bh=+AzscG052nU7edeh7dwTYC41mb6Aa4soKDmyuGWgVTA=; b=rgfOLRi/jWcSsBdaMfq26LxkTPxWkbcER/YpQ5lKVSuc/+LUCDKbl8J62Zd4DEiUqR yjgGH6O30bmqo6bT2ReZsuOiTt3c15V2UKTAszoO9IUt12O0l/5U7uwe22iCujiC2LIA qfIlFACa/Dd38E4ChPBvMTCF9sZCKsIqWgX++U/C4QhFnywrJEZ1g89jvGMK1Jnvv4A4 2lzG6ic/Fj/Z2RW0bxNLL6TRkeivPRSoNnE2BkbkF5QMsEXwGU/3f4Ghz1uGCOQr9OS0 TGFRHt3epwzZ2QVYfKnDH97HK7LYz3uSD5LKkCYV3NwY4LRGL+2l9hKaD1hqE9QQoQWt WTTw== 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:message-id :reply-to; bh=+AzscG052nU7edeh7dwTYC41mb6Aa4soKDmyuGWgVTA=; b=0vjYyAgD+GXQfyhw+BGkX/uxFGfuL7ILHbJ6vgVazwmUTf/OJ/1TNepf3E/4nsxgpH xmP+ew945cx2FhQkD5HCj0KLJyvgE+/ehMfMiAglMtihMn6wfzpn8OZ6SY+1BtbuuGKS iF6UKNlDOxt17QcrMnFBxq0+aLXiSyhzU1OUnhWo52PXb0clHOREiXt6xG2qQljPnk7j h6saOYQyBRDQsh6KQTay+q3E9+AQSum8CjIuCj5N6Z6qtDLrX3LGz4Bs+/llZHjBuSHo dde33LB/LH9/Ev240iy6WafDk92SwxN57Smn7vjE8QKcxjGPFmC5GaVGho11njVyLW7K U8Fg== X-Gm-Message-State: AO0yUKXC6K/nEej4kM/HuD9NkQawRHgEAfGMb55eaFxd0VoBx4PYd3aM IUAFQAjrKgzzXCxuhH3Wd2+x44ztDvN5AmjkepgcTw== X-Google-Smtp-Source: AK7set9UR07cb3ro7iznmr9sptnXV7T2xULn4gSqAWaM3C0Oc0IhlfyySo+cCwyIMeBQwv0+TxPFBE/hHziM2afgtqs= X-Received: by 2002:a17:906:37c2:b0:878:7bc7:958a with SMTP id o2-20020a17090637c200b008787bc7958amr3040573ejc.220.1676006194641; Thu, 09 Feb 2023 21:16:34 -0800 (PST) MIME-Version: 1.0 References: <20230206092559.2722946-1-senozhatsky@chromium.org> <20230206092559.2722946-3-senozhatsky@chromium.org> In-Reply-To: From: Yosry Ahmed Date: Thu, 9 Feb 2023 21:15:58 -0800 Message-ID: Subject: Re: [PATCH 2/2] zsmalloc: fine-grained inuse ratio based fullness grouping To: Sergey Senozhatsky Cc: Minchan Kim , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 33B7640009 X-Rspamd-Server: rspam01 X-Stat-Signature: inyp765qtzo6gqo8ykj83fipzouwiunb X-HE-Tag: 1676006195-89741 X-HE-Meta: U2FsdGVkX18Wlg0CXi6s2st+q3q1m/ONtIYQM6dhyrG4uknH6Eu6RIptbDwa9jJ5k+wHeDskmWbp9+SKl8npe84J6x0wLbkdxduS+bxtaKnC3ZNaW+Hcm+mQPPONAMvCWdRh61jABPhLZ//HsJcRXbQieK1SdslhpEg8c8Xv76WJ0eexE4RiNq422PVcZboBZsngHFTv/zw60W6ys3YVTHdOhMgtPhF9GPbxou2Cs/lbIUR8rqYVeQk4DckWgPDyPfzhLPWWX0qGoqyL9nWAIx2jJWxu0aDN9VNOYdGYXJydWxUinnyPTFaLy0iYcn74jUEAqPddDR0wkNgc6yijQVZ7Spkao0K43ldkW8K9vuKjBs2i2fn7DQlbU04EQcelar/aY5zjmucq/QtC4fkWCSH1rzQxvexQ6vfBPEnE+MOe2TPZGqXJbFbZNtZTXzVJ9Krr9Hc7ndtcyKhj9JRwYRni6HM08zK5z6iUSfhPsaxpA2n7Dwu1vM+P500NefwrEkQNsNO0czAwubLVwzVOT3F7Sp6W32NRZD8RJb3Dfn+uS+tm52oSiZjjlAUQABNG+UaqQUjOMGCdCzznrIT031gV2agu1NcX7plNQ4TnTcRxnQ69mEZKbmfUd75ebo67b//EubtLHiwotA8MR6/9HeEXf9vkyOt09iF4V3ga/1DH193bLYBVGMd1N/zK+SYEyZkD/PRDqhZs+hSy7MjWpZCVT+33UhC1ZBBCvk2TQ0GQkVoGSsz+rwVDs1tQCE2fBFT3ZRXY0VnLCd1KTMQweHPgbLT3sg4CRP25MY43J5L3/dJm/eutA+Nt9sTQAcp5NGw2jckmPUY3yNDKkTbGUoTTbuoqemIm3dYtD+HdeNljuk1a8blP0M7y9WiV8kuwNu7QxxceYpwNEMZjjLUoLlViHsBgtXsOMkuVtEGaLtp4Aq/oOaFizhv9myyt4N+Gl0xXlultr08trJrkOY/ c3ZeTC1K eWwGbBeY5OxVYfaIYL/8zkZ21eYtqAV6iovpqF9w5NVw3pUzhTS6hTDyP2Ek1Eg1QXn6sMfNCGE33MCqvn9m/B6+RSfR+H7SWeLyCM/QmXeU0edtdfYqwo7o/5D3UmCaJLafuIX+UWVqaPodAQj7r/72rmO9k7lK4eIxobiCDrymORpzTiCSuqdyykYOMgBwNPq9dRB3LdOfCuYrvlJ3TAQO3XOe//nH4J6bvla5pXpUr6/bAP84HOm7haQIQy5Ixm38C0/mJkCJd04TWycNICPjRJo/qzxVBKYAR6B8gFroWG4Y= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000033, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Feb 9, 2023 at 8:30 PM Sergey Senozhatsky wrote: > > On (23/02/09 20:25), Yosry Ahmed wrote: > > > On (23/02/07 10:47), Sergey Senozhatsky wrote: > [..] > > > Forgot to mention, I was also thinking about extending zsmalloc stats > > > file and providing values for each fullness group per class, as opposed > > > to current ALMOST_EMPTY and ALMOST_FULL stats, which don't tell much. > > > > Makes sense. > > > > > > > > I can get rid of static const arrays and pass "begin / end" group IDs to > > > functions that iterate fullness lists and pick the first head page, but > > > I think that enum values will stay. > > > > Do they have to stay for a technical reason or just to make reviews simpler? > > We need to be able to do zs_stat_get(class, CLASS_USAGE_70) or > zs_stat_get(class, CLASS_USAGE_10) in zs_stats_size_show() to > show class's fullness stats. If we use #define FULLNESS_GROUPS 10 for example, we can break down struct zs_size_stat from a single array to two arrays, one of the for fullness groups and the other one for the rest of the stats (e.g. OBJ_USED). We can have different helpers to update each, the former taking in a fullness value (0 to FULLNESS_GROUPS-1), and the latter an enum. WDYT?