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 69D5EC27C50 for ; Wed, 5 Jun 2024 02:17:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 03A9C6B0092; Tue, 4 Jun 2024 22:17:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F2D2B6B0095; Tue, 4 Jun 2024 22:17:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DF48C6B0096; Tue, 4 Jun 2024 22:17:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id BF5546B0092 for ; Tue, 4 Jun 2024 22:17:09 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 4A5241C1C3C for ; Wed, 5 Jun 2024 02:17:09 +0000 (UTC) X-FDA: 82195222578.14.E464A7A Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf10.hostedemail.com (Postfix) with ESMTP id 7AC05C0007 for ; Wed, 5 Jun 2024 02:17:07 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=k2izv6np; spf=pass (imf10.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.175 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717553827; 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=mmUqGT6R1ALyKLT05MMVBNync2sESvjPRIFmm8CcRyI=; b=2sFZlY7AlqdGiN+PCF0nPstA8DcNEa4bIFNVSOKdKP2aAtImvFv2YgEE2XMFUiZTcH2LxB KKQC5R1pw+58dS3a905iRyIWOIWfyguEugSwsd+EL6kxQ/dvOO6aEzL9TQwGB6tn4d2Cfr IyEF6iEEH3+WaXqP/s2vZbD3K7wW7wY= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=k2izv6np; spf=pass (imf10.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.175 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717553827; a=rsa-sha256; cv=none; b=4dS+HMNScTpYlX3yBV3qVSZePOkZoaL44rnMorCFiGeP96ddDiCt5ZOW4moOPxZXlrpdHg ut97n7PG9yUq4TYrGBnwRzu5+Sj9vH3muKPbtcmSNcaUFEDwKxTiX7l3fb0SFHb0yHvUu6 C5g/raq8HJEXDFzSkVN4AmiOGNYXuos= Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-6cc3e134f88so1386548a12.0 for ; Tue, 04 Jun 2024 19:17:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1717553826; x=1718158626; 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=mmUqGT6R1ALyKLT05MMVBNync2sESvjPRIFmm8CcRyI=; b=k2izv6npwU0Z71Aag398rIVcqVEExvs9AxIeZXW9RHrdkmlIX37Fp+D66BpCz8cFJN ICm3TylqWPl1tM5x3sachbdjDFxcPmdQyTAQ0b+rN+Gqi7zRmCmC/Mg7opleFVLbX74z wMpq+iv/Hywi/pWob/sgct4JGfeT4zTJeSGoQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717553826; x=1718158626; 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=mmUqGT6R1ALyKLT05MMVBNync2sESvjPRIFmm8CcRyI=; b=Vpna7kZ7sWaN0lTp2O80249MeUylhxHVabBDg9bHMdMYTUB9la4ziDXH+s+qAPuCKM jY9XkNP4DOAQHFTtCXUfvIz3wOZm8jwwM0ROWuc87AArq3zW36Tyna+ehYB3W/LYuWD4 /xJXg4I5aeXhaik0rACRLy8vEtJlOPVKfLywLrkugYshWyKj0AmiVdhHSbzuFe1QJnOL yu8tYvTI+28Z4PigDe5JlP7Yp/qsRByYBjzr92t5ZA+N5RShXptTMcI/ZBe96iKHHBsi 6+bqilcUWx8A+oqjck1OImNbQD5R7MpVvADnnpgAG4doIhnf7HQCvP2sS/szSTkd+HnW LG6Q== X-Forwarded-Encrypted: i=1; AJvYcCUAvH1PxEJ31V1uXwEbW//dYaLerLWuLw2sKebptdfWIY9YdKb94ZSx5a1+P14PgYnDRaWxlkOzo0mcveQtkSdARsg= X-Gm-Message-State: AOJu0Yx5VSL78U3WqFviNawTb2zA9HeG1zmd9PlqDhfMf74azk7SzMp7 taEdjN24fQ6uzOKHe1LUFhkVGtrD7rDgGptrTm5GmfQabOsgcXeMDJTygAb1EA== X-Google-Smtp-Source: AGHT+IHMmAk8/qxOtTT8yRi3dQLozZNnAXY3KVFXiLbMylIWGljhiXvbuvAbtK5cf8CRLuS4ZWveRQ== X-Received: by 2002:a05:6a20:7348:b0:1af:f8e7:76d4 with SMTP id adf61e73a8af0-1b2b6ed9cbemr1830288637.18.1717553826123; Tue, 04 Jun 2024 19:17:06 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:72fe:f923:2f3c:6cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f6323dd73esm90373315ad.158.2024.06.04.19.17.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jun 2024 19:17:05 -0700 (PDT) Date: Wed, 5 Jun 2024 11:17:01 +0900 From: Sergey Senozhatsky To: Yosry Ahmed Cc: Andrew Morton , Minchan Kim , Sergey Senozhatsky , Vlastimil Babka , David Rientjes , Christoph Lameter , Erhard Furtner , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: zsmalloc: share slab caches for all zsmalloc zpools Message-ID: <20240605021701.GB11718@google.com> References: <20240604175340.218175-1-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240604175340.218175-1-yosryahmed@google.com> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 7AC05C0007 X-Stat-Signature: fsyuewwm6t74o3dszz8zdgf6np86kcri X-Rspam-User: X-HE-Tag: 1717553827-590909 X-HE-Meta: U2FsdGVkX1/f+zijm6qBMHn9092SXcRYuTmQqay34Pam+8NqqY/7izUYoSoAPQWgLe8z0Fz7+zqdE02nu9WzxYnV+omtyvjlsk8BBgU4VvAt1dY+XDSafWtM/rLnqQVn783RihLMRuv4h7dgsNPk8p/8PlB2LhdQStKMgaiwVnrPpdMC1YQHFwsTutmaFFzetELyNyC6VjLIijy2pgmTXvEyOitqKAtIn67iYG2iQBnUthZ4OT8mg0u2S4mQaovT7kBxLQE3EvAiaN/JHxe2GnRaEubEEX+Zlvu70xYaZ651JcTSuiPqOS1CwyntQmYuGZrkT62RCbbrZ0mLG/3aH/VdtiQ+a9VsHHKvTmzFb+uKL6wgUdO7IdItcH7Q/+/w9FL2tjKrogf6YChZGpEtKMobN7DZsnYblp0bsUoMnG/wAtegpWXtLeOBB4G/LkjD+pa6v7tojHdEKqkzBYQmvCViNDlPKJjXWEaJi1/LE37fYFuKrA+Mv5KkugCE9yPnzODhVl+Np2ljjoejrK+7IOhQAmsuh42+b77xjPB0QmGyd/NxafbVJDPwO1wJtxoVk1jNtEhPoTYwnGDcsM2jYbKqwkhRIA+AaOxBne2voxYiGmirpEgLsEUBDXYNmZzykNldStRF3Q+gAT4dLbIj6yqpC3ZEEJoEKKyyZ/aDW1tqqSkjHhYjeO2uGIlZgZ6fmW6RsCySNA5Ja7V8zUyzaQy7mND27qeWTXVCplivQSf17T5CPlLM1kzGNB68YQ8lwurQez1u4nyUN34MsKQyIFcTdpysXbhTrnqDtzYay0I/+awRFEgyiZ4yff8nklOmIRoeG8hE9QfSgP0oz86rSkIQ1KVEjvAylxEaGuEmw6fivFNYlJEq9HIQwtL1JoM9dEwWHxPeZGiBuIL09OaM/sxLsmeJNx7/yOpcVfyIva3Uf++CszpPoxlH238BjnkElf7bohXClll3SC6gkbh BA3v8P8f XBmPuXZ8ePH1vhrrM8FkYoIQW2NUx7ip2bnSatAN8aAY4B4q7OuPmWm+nEBKZZrLbrhUULbLXSbJiKUSh9rVy/iGpNEsYZJSh3kl+Axuat6xCC2TktFfzmhyCYaaN91jCKDdcWyMowjDS/ONMiU3Dgpqqo38U+d6pFcLqatFDIBzvpnq2bsuWe9JGuDQoVIeiLZp8z6UF/lG/jzfw3xcVXpKPl+YN6UEKYLUNrFsMqoAfrb9YHqEMUp1aPxFcgEJvHRoRxBhGPXnnDZ/Ps/Gni3sueBsQF5jhb6nacTIxfKGhbJqs1OHUZeqi4+v9yNtlg1klu+CKJC+XiIO1uNoUalhMQWe72C2YZKHtX1bKk5iYeB6VihIedM4diDjmCXzgay5nuYULEwvSX45mAS5GFDiNUGfIqR+7K+mhZVSktBBGcBbQEswQa/AA7pLAL83/hSpqbTm10C38A7JgefOBaQKZ7eqcABdTiJMSXuMC80iRZZQwHxPnCkDChA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000044, 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 (24/06/04 17:53), Yosry Ahmed wrote: > Zswap creates multiple zpools to improve concurrency. Each zsmalloc > zpool creates its own 'zs_handle' and 'zspage' slab caches. Currently we > end up with 32 slab caches of each type. > > Since each slab cache holds some free objects, we end up with a lot of > free objects distributed among the separate zpool caches. Slab caches > are designed to handle concurrent allocations by using percpu > structures, so having a single instance of each cache should be enough, > and avoids wasting more memory than needed due to fragmentation. > > Additionally, having more slab caches than needed unnecessarily slows > down code paths that iterate slab_caches. > > In the results reported by Eric in [1], the amount of unused slab memory > in these caches goes down from 242808 bytes to 29216 bytes (-88%). This > is calculated by (num_objs - active_objs) * objsize for each 'zs_handle' > and 'zspage' cache. Although this patch did not help with the allocation > failure reported by Eric with zswap + zsmalloc, I think it is still > worth merging on its own. > > [1]https://lore.kernel.org/lkml/20240604134458.3ae4396a@yea/ > > Signed-off-by: Yosry Ahmed Makes perfect sense, thanks. Reviewed-by: Sergey Senozhatsky