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 ADAEFC3ABB6 for ; Wed, 7 May 2025 06:08:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0EBA16B000A; Wed, 7 May 2025 02:08:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A3F96B0083; Wed, 7 May 2025 02:08:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA4C66B0085; Wed, 7 May 2025 02:08:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CB5CD6B000A for ; Wed, 7 May 2025 02:08:15 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 68B11CBA18 for ; Wed, 7 May 2025 06:08:17 +0000 (UTC) X-FDA: 83415081834.04.6F509E6 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by imf21.hostedemail.com (Postfix) with ESMTP id 844E81C0009 for ; Wed, 7 May 2025 06:08:15 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=DGof15xM; spf=pass (imf21.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.181 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=1746598095; 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=JPLviMCblLtdTlmTDGOR7DqRoK221oLbVJ1Meb8wioM=; b=N3HGCMAclwa131roOu/o47qmpNODF/0E/0lYuEFbNVEMA9mll2imfxYWWzWUe7npvDiFXV kmlODLzUSTJrvFachd3dQ1okTSrBMXBuiT1EMXGMLQ2gQkD1roWkrnh4TuW8yJdZexgsgg Y6dN5ADWHsbkeX1mJeEVHA8VioW5f1M= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=DGof15xM; spf=pass (imf21.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.181 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=1746598095; a=rsa-sha256; cv=none; b=w3lbklIF9Xf6GIhfhA14OTm9TW1wQkYyH4TlCF8topMugMQp7sKOJ7YPzKfoWvqBMtBrRN srmm9/orPIRVJZ0d1b//Aa9iABhf17yrm3pueOwJjFUZezDe4hDqxvangEa0bHvQar2IBc 1uFwvMaLF1Quw1A08SO3MM645JCrRyY= Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-736c1cf75e4so5826090b3a.2 for ; Tue, 06 May 2025 23:08:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746598094; x=1747202894; 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=JPLviMCblLtdTlmTDGOR7DqRoK221oLbVJ1Meb8wioM=; b=DGof15xMlgQxFVxwj6QYWvVnWkmYq/4vyrB+UvVae3R4150Eh80423trfvC97aJXFD QI//4UllizWONIFroG4wj9wy0OcmpuvhvCnUfjMXfeVrw9cgd7fFTN66Z9RkKhXx30nJ h8vw6FgvpjHZ6sADV0Vh4pYUZqhkkCmgWWy30= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746598094; x=1747202894; 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=JPLviMCblLtdTlmTDGOR7DqRoK221oLbVJ1Meb8wioM=; b=Fv5v0mLiV70d0tJoBgmPQKS+ZzJ8lR4+OieyKQecRJJClO/cTzTaBqeGJzLj+GTJi4 v4Pek16R8piUkMDqvg71hviuLYKQVsAXSpV+L+aWqnzH5JKSEx5EUnSlWA3Y90JMf/ZO o+8cggtXwixxv7cgofSgqs1dhgReiTb7FkpTEqlQyCm+JFYK4UXcExp0g0eWc084omjx yRt1a2gl5X3r6KQ3YSza02DWz6l5EuGccG3RMgzf+iQLwqlt6ki4t5NTs3PfjGybe6mV nxH2neUi7/EOOqrFGGOKGPG8GnoHCqIawpFrHoxjbU6WNfF14FMVf9E1s4Fv3M/rKIMO yYdQ== X-Forwarded-Encrypted: i=1; AJvYcCWCbToWGxHHcrQZmti6RrPhV/kUQDPWKk+m45QBvjyiMPkP/EI5MPy8GL+2TKzOhlyawfnYGvHpEg==@kvack.org X-Gm-Message-State: AOJu0Yw5Hv5qYvKVGgxdkcif6DqZkBQ+1XsZsd7DtvU4f5kWfJbwGFS9 gsUEDSBpFoy2Jx+5iKP9dx+p29AYLVIUYKipY4qewF+oK3vYJLVJmKs7c3xcpg== X-Gm-Gg: ASbGncuKmOjyIIZeXMP7iWCj5TG+jSaBAQpOP4PuHQ3l8nfV3uFt3QKAiJoM/O/OaeJ /nO/l0KJqF2xgHZ4lmSp7moAfvv/KcInGoBxkd9kQRZ+cvrfHs7bEIoRcosK3B9Uzn8MeezBQlJ uSH3swcN+vZxpOjJD66qtf4QZRr/Cg/YZL4upjrHanCsWBEucA5o42QoMHzrj/a8qSJlW9ZdITj 0FtL7hwtTX+vALYKzND4/MP4nxcqCP9WtOB+nHeS/+1fliy/iNYtZEpX5BKZfnkS2Ye2Prm1PTf PqP1X52XEAuzWv36az3W6YMF3+tZNYoLv7GCGb1PVpQV X-Google-Smtp-Source: AGHT+IGk5iSUyLdcfQYnCzoPIL9eHF11OOkANIs0f4AL420z2NrtHDSKEOrCjzRea7U1wy7PxwcmMw== X-Received: by 2002:a05:6a20:ce47:b0:1f6:6539:e026 with SMTP id adf61e73a8af0-2148bc133a3mr2769491637.15.1746598094289; Tue, 06 May 2025 23:08:14 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:284f:37bc:f484:cbc6]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b1fb3b7afd4sm7248326a12.33.2025.05.06.23.08.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 23:08:13 -0700 (PDT) Date: Wed, 7 May 2025 15:08:08 +0900 From: Sergey Senozhatsky To: Yosry Ahmed Cc: 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 , Sergey Senozhatsky 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-Server: rspam09 X-Rspamd-Queue-Id: 844E81C0009 X-Stat-Signature: g74c3qhuyhdawagkyta4sq9doiua9j1p X-HE-Tag: 1746598095-340114 X-HE-Meta: U2FsdGVkX1/2ruSJG1PIQEZVTXNQRAeJrn1jWySV5TgQSGb8wLa7lW58a5HvYvtBATUudu947bwruzOFi9dAykHVB6b85mskhVv6/6bgqtsIGs8pJfUa01QYkNzN2cGhTS7G4ekaVR4bi8XCPQ2KqtX66yv5WQwo/s05q+qKJ9KRUUQrAYOaoQ0vr1Onb1J3WMMJjOuz2IH3oTrwJa6eQbakkUjjClkuA8iJIysO9cTVS1hTCBct8aABibaw1MUZFqgFfxHOiRs7iZXQrFC9fb0f4IBWTTnWWXURd3BIdF8yNsXer/3rWFHbCvtKoIht1I+C0BvrCuOYJyfiPU8cy+TVUWJTiRcxmFNCdcBK7jXd6RuzZVR876StL9YZu+0Evmyiy1oudUcfjPGtjPqSHhuG6JpGFn4OrMAj7fpHtpfv+qvfg8rlhgSRTAIPpjJe+EACs4PSpwcDT3GCYkqj0mg4P9+WYpmtp6n/ZXxanciAHf3DKQ8rrOa+uILRBte9vyQK8Fe4d34KZ72ESDw2VCDo7SCrpzYSjfC1drbjgwp6xCP47cgAHymodsjpNNZYVvz9rN5vQTJRYwwduB8glDn0T73dAWiE6kx0MOMG85zzNJj8ELTiyeuxXulL6s9EJMuxa/fYZsMGqklVmhBVXICvkVxju9cfMqN1NGNwnb9vidGHIHygVMouI67Hvlg+18y0Q0jaXM3jgWyW9zIcWye27caHOGaF9MoTXzlbSZU4kan3EPTFwV/f9sW4zjAlYTQV2U3EdTLxRgnkgLFhAbjeYweCiJOwm7T6GB5h/+K/nptEKmyuF+IRUXkUQPCmZDZyR6zTUgxEw4gPOeNB3ldArHpYA1Xdu51JcQ/kNvjfKEz2HPkHnJslhA7H4zy7ixkILtWOKTGaRtJ9/s5kJJ5bh27I3L3CTSmxud6stU3mKJ+dWW/PW8aOy5g8UsXPbYJ8Xk4CB3U+MlNDeFL gKywKCNB NbbV30GJTprpdy0jvYI15oyQ2Dl9ar5uAY0MvXf1GLIugY2ZSWDiSKrTwJvx8GzsbcRqTpvwjbvyZAOhVJM0h2XAjm0xKn/ARWFgx4hMElgi4+AM/5OapjbvZfpu8wLGj6Q35us6kb3po9vNGdYSr4VLXqCTXjFoMqruxcBHMvDh8+JuYVxVUeEMe/PuR8DG14sOLRjtogTdAaggTe0KPF6JHBnoW9ZnvrKXGH2OkLnTkIe6/nDVv3HITXrUyr5iMWoWCB6mUECn/XRUH1t/2GPxm8DCr2SJztxjyhKGioxdtqzbs1OAcqLAINDNBs8UCp/2wyrTsScXzYtRW8nUKdgnlTHIICXwlSx7W2mti+eXGemU= 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 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().