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 9B10BC369DC for ; Wed, 7 May 2025 06:15:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 510F86B000A; Wed, 7 May 2025 02:15:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BF386B0085; Wed, 7 May 2025 02:15:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3391E6B0088; Wed, 7 May 2025 02:15:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 142886B000A for ; Wed, 7 May 2025 02:15:07 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 52DA85F6B7 for ; Wed, 7 May 2025 06:15:07 +0000 (UTC) X-FDA: 83415099054.01.F38A35F Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by imf29.hostedemail.com (Postfix) with ESMTP id 4F29B120004 for ; Wed, 7 May 2025 06:15:05 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="C5Ei/On3"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf29.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.177 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746598505; a=rsa-sha256; cv=none; b=Jv8hHZml+8rGraZSiXUi/856GPepipMi2vqPFqakkfnM8IFpvzmIQ0Nu39xvs4ru783k18 mqCYwvDZXsrQy0J/MUWJOBRaPU4uPWCAK8oCGANfa34g5W/djFb5zSoBZBB7VtsK/Mw9+3 u/65O+KBcETpLHgRZKcP8Xnkrg8BCK8= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="C5Ei/On3"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf29.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.177 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746598505; 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=7hA73hgBO4nqj41CFJ+0WVG+4WFvvFaJgFRfbQga+uE=; b=U8R0009lCtnAKbHZVeq7/ByaHyYnZRH3yl8LKhd0tCV3Q7FpSN5usmOal4k2egHYnELNG6 wugr30MZTMxYdHcegXxq2ggBxEzYCDSsiw4Q7MJuaET5xckEzcLJVb20vLyTwDwbp8asLb S/PjpNuaTfKOQTcDAa0v5jhF/u0Cgno= Received: by mail-pg1-f177.google.com with SMTP id 41be03b00d2f7-b1a1930a922so4456252a12.3 for ; Tue, 06 May 2025 23:15:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746598504; x=1747203304; 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=7hA73hgBO4nqj41CFJ+0WVG+4WFvvFaJgFRfbQga+uE=; b=C5Ei/On3shRriwX9ESG03r4MEPCwvITIZb18jvoPMTSFCJjFOm3CunyhYEbPGUyW95 Y0VL2jxbs3b7pQVU4+g5TA/JOPthD7OgegZmk41+hC+r/cpOr7+VZaRHw3bmELYPrOQO Rjn7EpG8AJNzefNzzAJ+dAqW1q9sDfi/iwyhU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746598504; x=1747203304; 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=7hA73hgBO4nqj41CFJ+0WVG+4WFvvFaJgFRfbQga+uE=; b=Rjd29BgXW1SBiPRJanqSDuR8Kiuegntb/RtNSeUyLjhrXM0YdYI1+s6pg+5RdTbUJK 05t3i7DEhZSWLnSxWsC4W5AfIV70sDbUKsw7pyAt8u7F+u9JIz9H+VWhm4j21ay7lWdA 2mjTkoBibXW29gWf3pyEQcayVCbAb3ZaWX1V6XxXxFAFf3KkJmmyecKE1qyTCnOCC8vv t/Kfq+FZLQyV0D8kc2dxXR39eJLqN0IzFoxeAKPnAXcLqPoZ1dA/k4rfKyK5QVjKS4Kc i9DP2HPfkLRiabxHAgHA7si/XNWYW0Zdj8ZKNLe8biRlS57xk846of/SeTx7O+k+gMMv hvYQ== X-Forwarded-Encrypted: i=1; AJvYcCUXBWXtb4r4MtSuEy19V7s64Nb3zhgGtPYZqwmjuJ50yDB7BemRQo2ltT7t10YNAzQW95lmhyB7Pg==@kvack.org X-Gm-Message-State: AOJu0YweGFX5aX1iAZK2wFiHMIVrvNfuwJXZIarXZ3RwJQTHUtPx7t9G DMxGr4TvZ+JP+8dmwtKZFU5ZfA9e8tSmpkWqIqQBE9gdhddJySM9Tkj+7Uk/7w== X-Gm-Gg: ASbGncuRgEPELqB/wrVqZ+AdlcXXSpQWUHAP4bt14lY5c5S28vliWwbaldGqD8al/1G PDk153fc+LaOcH1rrz3KDombOJfiJ56fCB7rdQU3JyxbdHgy5QpQYK+UavzNqZslQHR+N+/CzX3 PpqVpkJs3zG1MdsoxCSC1LNInlwFINaOCSKQOKcdRVDvLSw3OMrMTp+see44TAHRRW7k9W52LNa tKW+7RZb/qKTe0MBO4dUOUVZ1tmKvDKG7WsMundPfCjCwcOspJ97xdR6K8/92B4oUsaG5isE5sK zwghyCOEmK0SLWS6Xe950+RgivePLuA3uF7cAMYpjwuL X-Google-Smtp-Source: AGHT+IFt8mxFg2hYeSdOmmKvC1muDMtlAuLWggPsSZO3O0YnP2AnJEZfGHzWefvQFgQU+wsbULnGPQ== X-Received: by 2002:a17:90b:350b:b0:2ff:7ad4:77af with SMTP id 98e67ed59e1d1-30aac1be4d2mr3373826a91.20.1746598503912; Tue, 06 May 2025 23:15:03 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:284f:37bc:f484:cbc6]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-30aae525d8esm1084822a91.23.2025.05.06.23.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 23:15:03 -0700 (PDT) Date: Wed, 7 May 2025 15:14:58 +0900 From: Sergey Senozhatsky To: Sergey Senozhatsky Cc: Yosry Ahmed , Vitaly Wool , linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Nhat Pham , Shakeel Butt , Johannes Weiner , Minchan Kim , Igor Belousov , Herbert Xu Subject: Re: [PATCH] mm/zblock: use vmalloc for page allocations Message-ID: References: <20250502080156.1672957-1-vitaly.wool@konsulko.se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Queue-Id: 4F29B120004 X-Rspamd-Server: rspam04 X-Stat-Signature: acjk5biz3d5eohpd5mfejbi5ee4jb4ys X-HE-Tag: 1746598505-487097 X-HE-Meta: U2FsdGVkX19aEbVzvX8BP2K4VR9iZrmIfZHzmYOZISS0wIV/F6FlW1YdmPPVUOBKLl34etgwh+bjcJG3i+T5Ge0hfUtyiFMkEsSpDIKM08B5gBZrrpFz+KDJVaSQzqF9MU2UjE7X5iZBE6085pjPp13QIG19HOd0N3T38dAFPR8Zg/dHBjfSqfoxCw3SHWfGaUP+Hml+oRlNK7VPQQXUVdbMzapU6fugl/a3ELgK6KR8V3c08CXXyKvAJaL0MCDgDSbHuebxsyi4pE+LrH8uT7UsmTM/IEFWkjvCZgU8CgOJqkuyjn1+NjvXGDJinIOYfQGcs3TD58MY4OM4JOc+PMLYAsHaJqrBwibe8GKfV9YHyLdNGum7wuE5paewoJarrpRG76ilfrVFWpJxxVUJYcTuHAyz43j0/txjP/bjB415t3xAmHWxty+37b/Y7VMqcWaN0TGuO+7yGYXBAPq2OOUTP0rpY8I06mouS8PB8UcqK/Qm8uSWnka8HZIsqQBdhlRc6y9yeZiz0sPPJIxmKmQe2KUEqRbIGLq2sMdmREghXFBYgoIFkX8B7XOgTBBh2T1td1SsV4IBqGFd8BUPnTVUou+ysUOY/8Pt9bURpQdS+natsiV3djZ2a5t58plrOsJBc+IbcXk7EaH7Cf/CVN1C5JlxGs5ZxKaWhg9iORw6iiO1ZLoRmOsf2CaEt8CahTiNkpFtB0HxAUkwdhPVU5eOh6KM6Q7M6yiS7HG7OXd1khlunTYB4CMwi03/d589k0VrKPVdRVr4O5XxPJEdiVZsjN9Zb/zCeAPUGnZULskJOYDJ8mPuK01aJP8L0YxF1XXUb5jrjQRDxnoJqVwm7c0vv86/M+RwYEqksn8TqoSXDKhZYCaw6WO4V4x0mUsrbDjJsgTlf4aDBMS62plmXI3MICp/HigwAbjjlqNHmW3XgTdGZFDWLocbt6ItAhuz66O7rXa7m9WydWQ7fb0 AvcFS0KZ uyb3E0J/BxrClmGJTEcoRGhdd/lz6iwfbv8Dx4WNBEqWMSQNyfT1nc/SsaYfCF3qpZmjFyL4HXZvaIhrm4NoYLcpI98233nr44ldt8oF9SJfKmmW4clCyhrPkzxsyoFH0lL923CVO2cpcE+7b3Ipgw/k5PdtS5qDOkMQbivmYuad1+WPJWPvNLwXiQSPgSckfGmCZ12T8UwpHTJLSFDZHbtwFvtFTVQdmCX6ejYKPhNzNv21IPt6vwpHfDzGxbrygraYf+nEv30RHrv/Xt+WEDhV0kSlA/gAN1RqaZq6ZZnhvKgUq37sCwbHAXbPSVd07VNUb7Y6nebj68NpB280X/ra9t/0elSaVMRyoosRmbWrFKDQ= 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: On (25/05/07 15:08), Sergey Senozhatsky wrote: > On (25/05/07 14:57), Sergey Senozhatsky wrote: > > On (25/05/06 13:13), Yosry Ahmed wrote: > > > If we can use vmalloc for zblock, then we can probably also use vmalloc > > > in zsmalloc and get rid of the chaining logic completely. This would > > > make zsmalloc simpler and closer to zblock in that regard. > > > > > > Sergey, WDYT? > > > > This sounds interesting. We might get rid of lots of memcpy() > > in object read/write paths, and so on. I don't know if 0-order > > chaining was the only option for zsmalloc, or just happened to > > be the first one. > > I assume we might have problems with zspage release path. vfree() > should break .swap_slot_free_notify, as far as I can see. > .swap_slot_free_notify is called under swap-cluster spin-lock, > so if we free the last object in the zspage we cannot immediately > free that zspage, because vfree() might_sleep(). ... but there is a deferred zspage free already, we can switch to it entirely, I assume.