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 087F2C77B7F for ; Fri, 27 Jun 2025 18:37:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9F65A6B009E; Fri, 27 Jun 2025 14:37:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9A6FD6B00A9; Fri, 27 Jun 2025 14:37:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8BD316B00B7; Fri, 27 Jun 2025 14:37:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 77F156B00A9 for ; Fri, 27 Jun 2025 14:37:26 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EFFFCC02D9 for ; Fri, 27 Jun 2025 18:37:25 +0000 (UTC) X-FDA: 83602038450.04.F71DEAE Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf09.hostedemail.com (Postfix) with ESMTP id 42957140002 for ; Fri, 27 Jun 2025 18:37:24 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CeJZAlqM; spf=pass (imf09.hostedemail.com: domain of dakr@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=dakr@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751049444; 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=LZQmwQPfgNz+EBPdoLQJW57+qysAoi32GvP4O1sT04g=; b=Z7neFJiH1lYqBwFEffuClPP0YFIQI7KzP7kGmLoy8DR+kYFb7c9YQyB8QaadNOt5RP5DPu RMJa/YCUSgVdVTMN805kGXInhmuBpjTiey4/o4dU3l1qSC/MY8gjd/MdWGo4HPfEyjVa/S WA1X7bbczYvuas4K/uFkrXbHfRLa2DI= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CeJZAlqM; spf=pass (imf09.hostedemail.com: domain of dakr@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=dakr@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751049444; a=rsa-sha256; cv=none; b=3oB7kzANZefU3Z0sR2LhmPsQyD8oFpVyGN6Qwtel/Igt4h7VWTZoOw2jNPC9t+xeg5x5Vr z0dXvIiK9GyzipGpbuxsaNhjzUhhQdOafyVfaoyJgl98I7FER+qlq3Hjdv1vipcdwlhM9i j1cd+Q9+0m3zn9dX+MwPCYTxbQ+Xa8g= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 2EE9940C37; Fri, 27 Jun 2025 18:37:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F090C4CEE3; Fri, 27 Jun 2025 18:37:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1751049443; bh=n4I1t10u+1TLvpEKHa1L2Jl/GLtVz26vUrNW5m6uLk8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CeJZAlqMau3jCZQEn4scg3KB/9TSIdvbdgV3CL+bVMiZkLJaseDhqvZVQVvzl9Xa1 fUU78Bp1PzC3d6Ch6mbrt6swVxKPeEOjF09HdAOXH8g7/ie6sGKOn7fDHWjygmEqbr 7YNwSefJ/qENwVzQbSWwl9CYoi5d0BfG8Bz2jQegMr3uISW7hH3szy5xcQLnaYUzib 3RilmUkh4iWmGarA9CEfQn70Gsd9mOefcphXghhrcngIr1btasn+ejIO6Dx5B03Tiu u52AiUBw3zmsUItRgkwxVLbakRddvV8fSYYhYBs4Nidu/6GDuSYgFMsOexRJSBuKUE prfj7P8LeKutw== Date: Fri, 27 Jun 2025 20:37:18 +0200 From: Danilo Krummrich To: Vitaly Wool Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Uladzislau Rezki , Alice Ryhl , rust-for-linux@vger.kernel.org Subject: Re: [PATCH v6 4/4] rust: support large alignments in allocations Message-ID: References: <20250627181505.2080916-1-vitaly.wool@konsulko.se> <20250627181650.2081123-1-vitaly.wool@konsulko.se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250627181650.2081123-1-vitaly.wool@konsulko.se> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 42957140002 X-Stat-Signature: bn6gzioq71wyxi16kp5frzx8yye6fb38 X-HE-Tag: 1751049444-403640 X-HE-Meta: U2FsdGVkX1+sYlnsz93sxBxAEayttcQwTtkeGPZ+nT6IRJWK19BxA6CgkFRkUPJe6okLEY9XOJjvE8SoghNFGbImXqAHVOjgZ6K3vNDYJYZTnfqE9QC/LRD1WHffMBQszpPUEjXzsCnRtLG7JJxttJJbIg4WrwLRlUbo4/3GCiDEnDh9V+Bd9gj+g/TOL+b7RwQYNYhQxlJbNPhyzpy9DBnEC7AlQ7OB2uOdkD6bIOhW8YhBZrpQrlPYQ+qqYPqU1GC2YYKr4s0/bSCmTTZtKMFC/B2DgF+zk9i3hlkFaF/Bp7G8uCrou0YYlXiyhZx/47CSBKch1/lbXqnZlEmeSmUbATGAaOFBt5lXKq7BDF8MrKQu9nZuiuMQ1T3htaOuUjiekXYbGFwlVg8Q0vbTv8X/h0+Kyf0WYfe9S510sAQB7wBR0Ur1KS/rFqPxlc5aJ4KtyHUi3t/U37NV1lls0jTCYhjBaw2+9Tid0Ry2xjfEh8HEcAr9xuiu6+FSHcyUhhiRqZrftqtzbGUYajmP0ypA7nu1z0wFDpd44sl/Kga/fvKztD3FQX7EqB8iK7bOTHdnGpaD87GxOAWPHFzTE2VIIOuoVHYaYA7XSOihS6Q1nrWl3EdX0zAkT6mvwcSlI75tmrc+xiU26pjtV4yz0O3kwHPs7jvYa3lzz+wau8zxr5cGx1Geyy3M8yTn2Kk3TJTOKQpKeLuI4qVhmSDrcSA9qUE8LOEeSi4zh7utisNONq+eBAP5pKYwFgPtJxFGz0wf7T+cLDviDD33YzleIZayufTHSIxBqjAEqAfYLpdkFS1umw5HUPZIQVM8I1aCQMn0EeNjEV+Q4guvRKBQVYpSorHRRWyv02xOvJURO0ceL6KrILkOVbaStBr0TwXTBXWjfLkLgIkC7vNZz5ncibvS303E88AnZzrJunWJ9pbLU2BeZUtQk7IHQaXqKXlkWdIQaY9iUESEC5f6v52 AEb4rLPy yWTg/ANdR2xRzfVvG5v4fF02R/FAks8EtQikk1vVuGkwRAUO4Z+AqKws3FUyoErdzDZDyPPDcJjEqq5Rp/AqZADc8BTm+I1o1ZHbCuTp7FMUPqyyDT+bOLbdVsGSFgy+yN1iXwDXkA/3J5CiDUC33iv7dOZCXXIIiWrHU7sjptlFe8v1/xbz9X9MtfraJyhYP08q2k3Meq3iW38BeF5HhuwwnhbLOPRp+z7XZD258RdZkXFqn2e7gMb5y2JnPUGkkn1tOFkStfXbhM8Qq3MTtb1oMY+kefbShKk9C 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 Fri, Jun 27, 2025 at 08:16:50PM +0200, Vitaly Wool wrote: > Add support for large (> PAGE_SIZE) alignments in Rust allocators. > All the preparations on the C side are already done, we just need > to add bindings for _node_align() functions and start > using those. > > Signed-off-by: Vitaly Wool > --- > rust/helpers/slab.c | 14 ++++++++++++++ > rust/helpers/vmalloc.c | 7 +++++++ > rust/kernel/alloc/allocator.rs | 34 +++++++++++----------------------- > 3 files changed, 32 insertions(+), 23 deletions(-) > > diff --git a/rust/helpers/slab.c b/rust/helpers/slab.c > index 5abd552ccbd4..c4bb451bcf4e 100644 > --- a/rust/helpers/slab.c > +++ b/rust/helpers/slab.c > @@ -25,3 +25,17 @@ rust_helper_kvrealloc_node(const void *p, size_t size, gfp_t flags, int node) > { > return kvrealloc_node(p, size, flags, node); > } > + > +void * __must_check __realloc_size(2) > +rust_helper_krealloc_node_align(const void *objp, size_t new_size, unsigned long align, > + gfp_t flags, int node) > +{ > + return krealloc_node_align(objp, new_size, align, flags, node); > +} > + > +void * __must_check __realloc_size(2) > +rust_helper_kvrealloc_node_align(const void *p, size_t size, unsigned long align, > + gfp_t flags, int node) > +{ > + return kvrealloc_node_align(p, size, align, flags, node); > +} > diff --git a/rust/helpers/vmalloc.c b/rust/helpers/vmalloc.c > index e6c796c65ee1..09aee472340f 100644 > --- a/rust/helpers/vmalloc.c > +++ b/rust/helpers/vmalloc.c > @@ -13,3 +13,10 @@ rust_helper_vrealloc_node(const void *p, size_t size, gfp_t flags, int node) > { > return vrealloc_node(p, size, flags, node); > } > + > +void * __must_check __realloc_size(2) > +rust_helper_vrealloc_node_align(const void *p, size_t size, unsigned long align, > + gfp_t flags, int node) > +{ > + return vrealloc_node_align(p, size, align, flags, node); > +} Here and in the previous patch, please remove unused helper functions when you replace their usage with new ones. Thanks, Danilo