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 05338C36010 for ; Fri, 4 Apr 2025 20:03:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C2C6C6B000E; Fri, 4 Apr 2025 16:03:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BDD946B0010; Fri, 4 Apr 2025 16:03:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA38A6B0011; Fri, 4 Apr 2025 16:03:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8D4616B000E for ; Fri, 4 Apr 2025 16:03:29 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AB17157A33 for ; Fri, 4 Apr 2025 20:03:29 +0000 (UTC) X-FDA: 83297436138.01.7469CA1 Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by imf17.hostedemail.com (Postfix) with ESMTP id 3EF0240004 for ; Fri, 4 Apr 2025 20:03:27 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=IT7IdisF; spf=pass (imf17.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.45 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743797007; 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=cclz9oqGLWTaYFCssVoMtVZnVxrzRlRpqGeMDEZ9cgE=; b=DPnbiLmsZ6UXJaGpjrIP18t6e/xTRZvSc0mReI2Hwm4TwOBgF9KG1PtlJ50UDLsiSHMaFT NOjXY/Va8FyHwNbtdm3kDDUNfj4RXhPJdiYLvm06pU+3EsfvxFkG3IVB55lRcN9raMdnPH zI928fhUqDOcX6dkqrqX1xQ7P66cqtA= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=IT7IdisF; spf=pass (imf17.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.45 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743797007; a=rsa-sha256; cv=none; b=aLXi4ItQIc598Wgw5B0SsPQdpiPzRGs78SkZ1wSPCe2XtNsLN5C9BXIELeF6TwQ0A8NnVN SHMQAkSnJSEImeJkflC6cESq2heKkBo0bxXJXkIk2USn5SW0Fq1zA9VhxRKrvQExj/Io08 6J6/riTx8HzEZvk4Vfwtm7ooG1F2VYk= Received: by mail-qv1-f45.google.com with SMTP id 6a1803df08f44-6eb16dfa988so24137486d6.2 for ; Fri, 04 Apr 2025 13:03:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1743797006; x=1744401806; 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=cclz9oqGLWTaYFCssVoMtVZnVxrzRlRpqGeMDEZ9cgE=; b=IT7IdisFzrVBWdceKziAeFv8vXPGuRuye0I82xAnmHN2UJ2IN5xrFiNF1yU15f4E/p bhk3U/OfaKnFD+EMzHflPA/02gUo1JirBwANuvgbRGL7WB81Wp/A50Z9zqSHtxo3gLY4 rxdx6YaU9C8WUpnqHheW8KlbwjQqBN3+nZS8U1hGPjzUDDoI7sUgBMnuU1MQ91QkzRCS g8K0mZ1kdhoN/tHrSZNQIXVhWWlnDktl30MySin9/flRLWOWhZGc8dft2OCEm2o8H0Ut vc3xySk2k5koC4DJDYqmMmDWMxTbg0o1Ek+GVlqW88FT/SVP+1IIkb8vP9HutPqPtl+9 deAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743797006; x=1744401806; 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=cclz9oqGLWTaYFCssVoMtVZnVxrzRlRpqGeMDEZ9cgE=; b=gcWlPKDIblna8HLaPp4lKlgeGAKF4/w5kNnTzZ9WqLOuit+1EhQQoRiSUA/0f0qjm2 3q42enHgQl/zCGtMFMKIHKH/VwNLrfMAEPuilAKBU2MwiLi+6ts/6db0ngPESZhvvLU7 H3Y2HEFnDybDMfA1Gr4ZTyKDO3qOzCJy8dJxUzr3Iz7+3t3q0ypmRQVPoV1YXQ79nfly i4x46zGRh4RdmbnExuispqX309F2r9XZc04CIA8cYYFWDTKKGnCeTKTb+11vm4HVj/Ot +iWD9QWQY9l+qskt4bdjkZwtdbBKg48qGg+LeHCIKUSudOSex1zAcwszKlUEvcAhHles KdbQ== X-Gm-Message-State: AOJu0YwF9vDiQ0UIsMX6pfDxGROGMF8iF5MwHB4aeoxkbOnM+KFmhQGX mVpVh+mNWITqLW299pY1uhlVM5hkugx049nqGq1fjk2PTs5la0Bl/sO4lvOa53I= X-Gm-Gg: ASbGnctmPov59X5Jwr7qja7WutCMw61nj/mbli21rkhKe+dq1VvHkJIyaIgm5lYfnbl W/LGvkgDuNgQf6FIEqeYLI8PxEJpou+X1/a/tUmb1lrKpyGsWt+MYOlCDHX8DJy8E7X7/sG4Bqx vkc9oMs9qAoGgSPhDYKGscJYtbLayo0ZDQfYhPnH4/OaxSPFqivFRHd1pUT7uXtEf8teC8/V14M f1RuV56T8ccH35BF2QzaipsnswZyRaozE/h1jN1OBTLq6gXOfd5EmOndM28RTZ/Kb7XhcE7YlH2 Vfk3mtL2OXsRIUU4iiFFSfBhDZjbykto8nduk5mIT44= X-Google-Smtp-Source: AGHT+IHEX1GGSr8Rz2mK8ZEWPKRs+r7Q4v4MEWtu7WIbX+t6qTFo6V56NTaAgz0a+ENJKN1hWNqbUQ== X-Received: by 2002:a05:6214:19cd:b0:6e6:61a5:aa57 with SMTP id 6a1803df08f44-6f05843ff4fmr65127836d6.14.1743797006271; Fri, 04 Apr 2025 13:03:26 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6ef0f0483a3sm25545376d6.63.2025.04.04.13.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Apr 2025 13:03:25 -0700 (PDT) Date: Fri, 4 Apr 2025 16:03:21 -0400 From: Johannes Weiner To: Vitaly Wool Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Nhat Pham , Shakeel Butt , Igor Belousov Subject: Re: [PATCH v2] mm: add zblock allocator Message-ID: <20250404200321.GB373778@cmpxchg.org> References: <20250404192813.925835-1-vitaly.wool@konsulko.se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250404192813.925835-1-vitaly.wool@konsulko.se> X-Rspamd-Queue-Id: 3EF0240004 X-Rspamd-Server: rspam05 X-Rspam-User: X-Stat-Signature: eu58dzoa11f45jy8buduig15qjmm4ddt X-HE-Tag: 1743797007-856346 X-HE-Meta: U2FsdGVkX1+8l0GXQqBG2QUgLeR9fyg1TH7zSdEFdMj52Q3VlgexLJ3SqEY2LBZVF+PYs3e2AzEpExLtEBk2rUg1R7rCzUFmK2JQph8ltvQrbuUO2xWzlL1lLnidfyfV1Rc6XeJeWhADeYRpikk/HfdRFasWiU3/+4GLXsUviZOw0WqNhUbsGGndJqzm4w0icC7dex0pKp5++c4I+TEGmnpobmBYAll/UIbX/hVU2ZTe0hfZPCQG5n6Z396hPtMSBou595xTze+dc7jPbIIWN4IFd6x5+67h8pz4Ok6pw1j/pyMXQQVy2H7aX9GxNCydxM7q8nFxp1Mr6MVC8ljxPA8FiM8Oef/xrGtcdy2l6yalDunVWx+yB7W+/fHLzgBUOC50FalJMd8FZLRZY4Kj5VclOwV5JHeBKA4AN2P4KJcozWydw5abrh6Q/sQtE/3KMAWdSkuTdAx8cPODrDx0wW2JxFvaN2uk34zXEcoQnyJNyALtz/Bonj78ThlTuej2s+IkfS3v11rozEAzMe1oEPQUHsj0MGYftVqNZ5hOLUhGofV8TkQhDaSn4dCGu0F45/9PIF1zP1YB3Ky9iczCFYoj3PfImcibcXrlkCsuHB/KbzBIaTFLaaMI9dC49deDg6y7OrR6jmTjjAnll6oI0YCbm9Kb6c2JqabR+QiwZq+uey886iINjxsXYXTlm3SGEpbKs39NerciEW9FyVppIyWGiH0GMZIntAtbts6kOz9/bBJnxuaw1ypsFC7utj6jq2KRZEPg/deQ6QjLt9/67dfDM6E/C/1DH0EkH1+D+Xmdjpcovgt+4fSVmoe+jj6k0CHsrlIqlwP0qX6OOwJaWah4uAV522r131QqL50WFGacNTdrAz5wN5jHjyQM/WOI2Yu/UFNd9TCjP7ojRsJETwcieMi6bR7L2yGTH99iadkuUyZYearqj0w3ehRZqF4F2yDgaR92Pzzv33vkK3Q u9nbTooE qVk7RlqO/MLZ4UvdiNNAyxHzP0PMNnvaq88Cd3hKUYlLEAIla1tlHKDhgbG6+non6nAhsMy6aTSbhWYlQbKUmRzdl5Rk7x9X/DVRP0Mq3CejkBZPu6bq3pHFXOFL9QAznGfuaGUpPzG3ZP6pj96reasd73RvbsHnkqEfliWqnhRcdnBog8uDX63wyOJR9OyS+HFmyQr4FnybBkqLyFjd4biShMX+1TF8hrqViarEGDskKFF/IGwC9mVr4ewBWfqJEdHY2re368qGF4oQAcsYjffIIgkyEt6wR4CIVHCjtUBtxxN37eWB5jRsFCxAxPHnjH6DHw+tJvtYshDnZLI64bTDQbPkIwtKB1rl1wVzz16c7veHbYjK+dU7yd7Kl+NXrOsgiCOHkIy22BkXWDICCDBEpZanfR6lrksJ1fRzkMlDLkHcKFN0HY30eBJgAqmbS8JH3XnwRGobwysJxQ8lWVg7xiQ== 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: Hello Vitaly, On Fri, Apr 04, 2025 at 09:28:13PM +0200, Vitaly Wool wrote: > zblock is a special purpose allocator for storing compressed pages. > It stores integer number of compressed objects per its block. These > blocks consist of several physical pages (2**n, i. e. 1/2/4/8). > > With zblock, it is possible to densely arrange objects of various sizes > resulting in low internal fragmentation. Also this allocator tries to > fill incomplete blocks instead of adding new ones, in many cases > providing a compression ratio substantially higher than z3fold and zbud > (though lower than zmalloc's). Do you have zswap/zswapped meminfo metrics from these tests? > 1.1 zblock > > real 25m53.040s > user 96m43.424s > sys 4m56.652s > > real 25m20.748s > user 94m24.324s > sys 4m58.005s > > real 25m37.486s > user 95m35.913s > sys 4m55.892s > > 1.2 zsmalloc > > real 26m17.934s > user 97m13.342s > sys 5m2.415s > > real 25m50.694s > user 95m22.065s > sys 5m1.305s > > real 25m57.714s > user 96m14.675s > sys 4m59.081s > > Since zswap is used starting from minute 21, this gives 9% in average in > advantage for zblock. This might be the linker step swapping out source files that are no longer needed. Do you have metrics for zswpout and zswpin as well? My concern with this allocator, and the other alternatives to zsmalloc before, is the following: You might be faster at allocating objects. But if storage density is worse, it means you have to zswap more pages to meet the same incoming allocation demand. That means more object allocations and more compression, and often a higher rate of refaults and decompressions. I would assume you're at least zswapping out more to make room for whatever happens at 21 minutes. This doesn't seem to hurt the time, which is promising and highlights how much faster zblock is. But for the full picture, it would be good to see the reuse/zswpin rates, especially in the context of overall swap activity. And if there is no notable swapin rate, maybe test without tmpfs and tune the memory allowance to force at least some degree of reuse.