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 DE885C83F03 for ; Wed, 9 Jul 2025 17:24:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70C036B0143; Wed, 9 Jul 2025 13:24:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6BCC16B0145; Wed, 9 Jul 2025 13:24:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D2656B0146; Wed, 9 Jul 2025 13:24:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 4CBB96B0143 for ; Wed, 9 Jul 2025 13:24:02 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BBBC1140524 for ; Wed, 9 Jul 2025 17:24:01 +0000 (UTC) X-FDA: 83645399082.23.EFF36D5 Received: from mailrelay-egress16.pub.mailoutpod3-cph3.one.com (mailrelay-egress16.pub.mailoutpod3-cph3.one.com [46.30.212.3]) by imf03.hostedemail.com (Postfix) with ESMTP id 51C1220008 for ; Wed, 9 Jul 2025 17:23:59 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=konsulko.se header.s=rsa1 header.b=P3OX390J; dkim=pass header.d=konsulko.se header.s=ed1 header.b=nqZBr7WA ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752081840; a=rsa-sha256; cv=none; b=X2kbacFKrQgfP8rHH9GOQX1pVgWcIBx/d3PuQ2bX4f8bNdSU2QPCVMv0seLeQdLSSlpbbP lhesP6xvaZJ4qXXSgT5MaLbpMf2UXkf33pmdVANqQ+G6D/sEoFa234FylTDNRBhYuYaNXc 6BLYgZRPFbjBlQwaS//NOL1x6d+WI7c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752081840; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=d2SNgT3zWT55ZJonvlVnvWUHIgX1usEw9kq+taiSSKY=; b=5nSeg1KoopYmmucyqFefw8YGa8pucc6o4aMTMGkrwgDQWFZ2BxqOwGoAWcl4AqzYBRkAom PlPIqwqLWX4qowU/vvvuWfQwaSHnDHO8kr8bUWg3/j6FQ5uNKubpF5/9iAxjX1M8NMyNi9 1yb2l+KL/hZekw7WziuuXWFkttwO3FU= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=konsulko.se header.s=rsa1 header.b=P3OX390J; dkim=pass header.d=konsulko.se header.s=ed1 header.b=nqZBr7WA; spf=none (imf03.hostedemail.com: domain of vitaly.wool@konsulko.se has no SPF policy when checking 46.30.212.3) smtp.mailfrom=vitaly.wool@konsulko.se; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1752081837; x=1752686637; d=konsulko.se; s=rsa1; h=content-transfer-encoding:mime-version:message-id:date:subject:cc:to:from: from; bh=d2SNgT3zWT55ZJonvlVnvWUHIgX1usEw9kq+taiSSKY=; b=P3OX390JooMl+DEl4Mh9eK38swP8Yrm2WpcYekSqBZDwb1QoQz/LJsoaJj0c2IusZG8KuIbB87vm0 4PIna415shUAZ/FyjW9+/14uwmqq3F4QaTE2OFwrvDjJjAc8N3Zqb7DrkV0X6viQV6i1t+yxddibzP EzVM6lvovwIG36fSlaDjrAKDJkaawJDLXc51RGBQhbLKY7FIzjn95vYvPtaBy0gUH+azh4W0nRYpy/ /rsNP5dEJ7Sl6FFYpcmqWFYPJ3f30GgcIZ6T4qNboZWNF9cfpTdQhbXtfOaDNZ6tPK6MuX34eeV4K9 p5AKb9ar2TfO/JLcR2SOSpt0MmWnaSw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1752081837; x=1752686637; d=konsulko.se; s=ed1; h=content-transfer-encoding:mime-version:message-id:date:subject:cc:to:from: from; bh=d2SNgT3zWT55ZJonvlVnvWUHIgX1usEw9kq+taiSSKY=; b=nqZBr7WAf1BvRYtwCoEEGNAW8eYSiFLnd/ymCMW/6WJFNO9I1NKqNP0ctD6KmRsm9r1fovKdgQB4M zqPgxtuCA== X-HalOne-ID: 7cda66ea-5ce9-11f0-807a-fb5fec76084d Received: from slottsdator.home (host-90-238-19-233.mobileonline.telia.com [90.238.19.233]) by mailrelay3.pub.mailoutpod3-cph3.one.com (Halon) with ESMTPSA id 7cda66ea-5ce9-11f0-807a-fb5fec76084d; Wed, 09 Jul 2025 17:23:56 +0000 (UTC) From: Vitaly Wool To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Uladzislau Rezki , Danilo Krummrich , Alice Ryhl , Vlastimil Babka , rust-for-linux@vger.kernel.org, Lorenzo Stoakes , "Liam R . Howlett" , Kent Overstreet , linux-bcachefs@vger.kernel.org, bpf@vger.kernel.org, Herbert Xu , Jann Horn , Pedro Falcato , Vitaly Wool Subject: [PATCH v12 0/4] support large align and nid in Rust allocators Date: Wed, 9 Jul 2025 19:23:45 +0200 Message-Id: <20250709172345.1031907-1-vitaly.wool@konsulko.se> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 51C1220008 X-Stat-Signature: cp3r744qqjiqh87m14b8cgfxftrxt5xn X-HE-Tag: 1752081839-208607 X-HE-Meta: U2FsdGVkX1/7vEb4XACH6zldnxAyta20Qgjjt27L+MxytIeAU1+fpgX04y0dBQ4d+gOXdUClxPP9lms1C753fcHFOt5YSTZXYz9g/a5PY7mlckzeL92lhIZz/PrLzZn1xLIagc+DKBfSAYUlMbPpd/e0QB8GkQJk2K5Ra3TvTP0JfkDZXICWKls/PzIiiM25oxsE7PSVHyHlDgRbpiRmQBeomYvfZb/+1KD/fIKkxorWPcUjAMlEvPIvu9+EhBzSD4lNX0KoYgcz2MV5FXdZyoFNmejvM/iJFJO8/SlSNm4wrmr97l58FTnTMrBLUCkwg/9uvZHbotJsk+JRAXMATP1gDprmB+xiq+yb77ZQr22LfxcUkKt1+NrjMyDPQw0vJXM8ReXpIqvBpAU6tgeQZiZ41G406Ksrxj++ukFUJUIkvE0ommzMJaoyekN+/8lqfa9xJ/kdPcXNOE8N/yoPvCoi+kMVOhwsUsrJB/uYAl6CGJpsh/6KJW1QvDevWAakNY8BVKLWuU1mgsnb2oLmeXXoABk91KChc/zgIBC8MloDptTsbZfQMlc48Bcgf6qyX+eemHzuV6TW/3I+beQA3dDmuOJWHvaSU0RCSttL2WcK5XzVfu3dpmtbjA5Q0dxkuS/5yQhDf/sEsVTjraCHFq1ego8MQh3VGlq8Cd3RIDLreYIvbRnJ41Ubu+7oe+rwni6C9tDsUIeuiU9CgRlKYOHJUUYv6SyAyeyCKy8/riJc/yN4+RL0bDDgZdfkff83gu+c9b2g58WppIJ7A2+Qyw2L4CNN0S4v+6fnRrYY1qCJ0hEw26WRUXP6nXMqg2Ze7gGv8CkaPZQixdsvEnJfacvfyn/09EsMw0WmnEW85zm1maXVgtpiovSFKNxi87TFws255+pN7+JGNxzkZc8cxDvE7Bu+fwbk9SawBLeYJ+ZupYmLtJ1o0h1l7sWI1B0FLT9/2WrYNTRWY7GkJnb 4F1bMKjg a4HOGs/c45WJJU5puopyjLyythdBfXA0h9FlnWzwCt1+IBG+FIXevnn0mZGA+1W5o6G0n9kE9+f4QRtXdhWMnbafZqWFRkpj8vlZUdNRofTB4ULbp43crbjj/HVLpPJQ/6e63tN3FrgDd/wc= 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: The coming patches provide the ability for Rust allocators to set NUMA node and large alignment. Changelog: v2 -> v3: * fixed the build breakage for non-MMU configs v3 -> v4: * added NUMA node support for k[v]realloc (patch #2) * removed extra logic in Rust helpers * patch for Rust allocators split into 2 (align: patch #3 and NUMA ids: patch #4) v4 -> v5: * reworked NUMA node support for k[v]realloc for all 3 _node functions to have the same signature * all 3 _node slab/vmalloc functions now support alignment specification * Rust helpers are extended with new functions, the old ones are left intact * Rust support for NUMA nodes comes first now (as patch #3) v5 -> v6: * added _node_align functions to keep the existing interfaces intact * clearer separation for Rust support of MUNA ids and large alignments v6 -> v7: * NUMA identifier as a new Rust type (NumaNode) * better documentation for changed and new functions and constants v7 -> v8: * removed NumaError * small cleanups per reviewers' comments v8 -> v9: * realloc functions can now reallocate memory for a different NUMA node * better comments/explanations in the Rust part v9 -> v10: * refined behavior when memory is being reallocated for a different NUMA node, comments added * cleanups in the Rust part, rustfmt ran * typos corrected v10 -> v11: * added documentation for the NO_NODE constant * added node parameter to Allocator's alloc/realloc instead of adding separate alloc_node resp. realloc_node functions, modified users of alloc/realloc in accordance with that v11 -> v12: * some redundant _noprof functions removed in patch 2/4 * c'n'p error fixed in patch 2/4 (vmalloc_to_page -> virt_to_page) * some typo corrections and documentation updates, primarily in patch 3/4 Signed-off-by: Vitaly Wool