From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEA3D38D6B1 for ; Tue, 26 May 2026 20:57:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779829038; cv=none; b=MY0pSgDkq0/BNfmNEa9qQBunbJQV5OSbOyXT2n0vrbhB7GAptKq7VlgkCMjqFF1pPevQdl6L8QeIFnksgUU24lt3yTkq2sNEgOHj/zu9sbaAmopabnH+PuSSLUykZ7YIf25zO01GnD0hTzUvt92XHOdZvuGDewOjlNynBGBEuP0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779829038; c=relaxed/simple; bh=GcX4flGUJGhoixlAx8HL7oeZ9Ciknz+u2XdVpAZUXz0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=CI0mr15OOUf1CpLoFy0zojcgfJnIwsSBZTNMWi7yRyyQJCgmtION2TIvS0/OFMgs31gF8Cvp+cOFCmm7J2YNlSuR3av4vH1vofON7SpuPA2PUBxrISA+lMVJGPVHwgps0MV3gA+hF0mvBZuWaZeemE2/I6wQ+JvD4jP70sEDnPY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=FmlU09e6; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="FmlU09e6" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-44c44af71f8so1117922f8f.1 for ; Tue, 26 May 2026 13:57:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1779829035; x=1780433835; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=9ks4dTmlympIPYAqCrL2AXyLjzLfs8srlx+ar7BYAqs=; b=FmlU09e6K0BtJjO5e3iKnn+5NHt0G9Wc4lwTOFB+Dv/iLlvRrC+YQ0lGp7i9P94qTl qKn7btiEbUBB7s/v8PbCfkVhvYOdqqvmmJxBJWihIdeRNGgPWbo/NnYXkKIfCE66foln wO2/rqL2b3byfD9ipQqjYGy+T3L9FxRTOs8jxM4KqSK/zOyXbG3TDudDG1OZar8UxI+d qpRwqReTsVbFgyrRBjlWbvzZio/jQbn0/qPBEjrIi6Rktkjl0D2dd71eNm0mLqjUkf7S Ne3gwIOJfPOOjCUkA/Fmf8/TobA75IvRYZk8xrDusiqt/oFEil5FNPUp018pQN/5u7pE 32Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779829035; x=1780433835; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9ks4dTmlympIPYAqCrL2AXyLjzLfs8srlx+ar7BYAqs=; b=A9sPgNBOwrWfhxrsJEjI9J4oWf7/ZCmFnj6toklONkHbi0QOAeeOz1x6nRFI9nrFj1 b3tUrBPvsC0BMdVn5giC6V6Cbhy5GNtZEx0gKz5irY8WePCYB3N1ymuQty5/2vOsRzBU EnCnlNzqIFqY5Nup+abdVbOS3/gkrazCbVuctQzQaC2yuEe1NN5LFO00EYDogpr8zCqo ia7pHVOK7wm2hHUa7CPt1dTe+t3XDSbLYu9SJfd42tKZJPBQHvoFVE/3c/o9rVhvQqCp j1VmcAvoOb8ry6wj9ORcDkjS94EjBwcIboKoLNtyTI7nAWQ9wrqiWxr/8r0re9JKghCK LDGw== X-Forwarded-Encrypted: i=1; AFNElJ901C/pRq3oA/9vT0WWntHkpOlnC/8RFKFwBwEtzwAWFheHJ8oEbNva/CcQ59Eb6/rrfYgCyl1hl+/nqsM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4H+ECd0tHiy9TFuiwQy78Z6voz0H0g9x9SFs4coYIi49S8MEe xNgJQwpjGnlGa3YMA8SchWiDWvv7EVspnPpqTnfCrXpXF/vh0Krlgq9PXrtR17Ef6As= X-Gm-Gg: Acq92OFcoApW1Bb9Oa5OTOlzCo9Mx1ozK0A8FCUGKB+liQnonpMw1GAJwAYU/E33GdX Ky1dgvXdkIIVlhT1/twx9LteSpHOFyZzOKYZWyfUOOVkMb32lNqNix7QLV0zQhi0mTXygznlURA EPwGD8qSVLDAu/ECdu+OEqsBuFhOKpo2klC0HaqTSB4jtubYb+X1rcsgiH1gli9tFRExPh3Wogx dsoeRxYtA+rcDfqI5WHQZIvojfEYpm5ImO0pO7Ku+4JxSTLjBNVUfZVoPB3b197ywuFY3gYb4Pp k2HoHSmhHCOwosA2IJs3I5odZnbJ7yOJBdEDyDVDAbxc8LUGwYFg21EDvfoLFOrXgpf0nUsA3hv 1bsUdM/vEGfgfaILZtGBqwvoV3TYQQZFnUmfx8zGRC4I3jH4AcqiljVJ6G+XBpROeqv0YZ/vxN8 PopbZnAD1jbdB6XEpt/mTuqGZeOOQtbTsMpTU8wHXp5io159mBKXVbLEI5rSir3a3oy2L3 X-Received: by 2002:a05:600c:4706:b0:490:3fdd:d344 with SMTP id 5b1f17b1804b1-490424851e1mr156009965e9.1.1779829035120; Tue, 26 May 2026 13:57:15 -0700 (PDT) Received: from ?IPV6:2001:1a48:8:903:1ed6:4f73:ce38:f9d4? ([2001:1a48:8:903:1ed6:4f73:ce38:f9d4]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45edb5584b8sm848568f8f.11.2026.05.26.13.57.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 May 2026 13:57:14 -0700 (PDT) Message-ID: <8b780901-8184-4908-8bda-56fac42fe6b3@suse.com> Date: Tue, 26 May 2026 22:57:13 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] block: partitions: replace __get_free_page() with kmalloc() Content-Language: en-US To: Matthew Wilcox Cc: Mike Rapoport , Christoph Hellwig , Jens Axboe , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org References: <20260520-block-v1-1-6463dc2cf042@kernel.org> <1dea9df9-18c2-46f5-bf47-abb3f088574b@suse.com> From: Vlastimil Babka Autocrypt: addr=vbabka@suse.com; keydata= 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 pYekxJujNeEDkUlky0Y= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 5/26/26 16:37, Matthew Wilcox wrote: > On Tue, May 26, 2026 at 02:07:36PM +0200, Vlastimil Babka wrote: >> The main reasons for switching AFAIU would be related with the >> folio/memdesc conversions? If one needs just a kernel memory buffer, >> kmalloc() it is, even if it happens to be page size. Page allocator >> should be only used if you need e.g. the refcounting or anything else >> that struct page provides. But then in some cases the memdesc conversion >> would need adjustments at some point. With kmalloc() we can forget about >> this user. > > No, I think this is unrelated to memdescs. > > I've seen a few people say slightly wrong things about > folios/pages/memdescs recently, so let me try to clarify the end state. > > I do not intend to get rid of the ability to allocate a bare page of > memory with something like alloc_pages() or get_free_page(). It's > just that the struct page associated with it will contain far less > information (because it's smaller). Alright, but isn't it still the case that if you don't need any of what struct page provides today or will do in the future, it's better if you just use kmalloc()? I thought you said so yourself? https://lore.kernel.org/all/aPQxN7-FeFB6vTuv@casper.infradead.org/ So what exactly would your rationale for "Most of them shouldn't be using get_free_pages() at all, they should be using kmalloc()." be? > https://kernelnewbies.org/MatthewWilcox/Memdescs has a bit more > information, but to distill it: > > You get a u64 worth of data (technically one per page, but if you > allocate multiple pages, they're all going to be the same). > Bits 0-3 will be type 0 (to indicate that it has no memdesc). > Bits 4-10 will be subtype 2 (to indicate no information about owner). > Bit 11 will be clear to indicate that this page should not be mappable > to userspace. > Bits 12-17 will store the allocation order. > The top few bits will encode zone/node/section like page->flags > do today. > > That doesn't leave many free bits for the user, but that's OK because > most allocations don't actually need any bits in struct page. If you do > want something like a refcount or list_head, see the "Managed memory" > section on that page. If you actually want a full-fat folio, well, > allocate a folio, not a page.