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 B552DC83F17 for ; Tue, 15 Jul 2025 10:00:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 598216B00B3; Tue, 15 Jul 2025 06:00:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 548C36B00B5; Tue, 15 Jul 2025 06:00:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 437A76B00B6; Tue, 15 Jul 2025 06:00:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2E9BF6B00B3 for ; Tue, 15 Jul 2025 06:00:21 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E7E70160361 for ; Tue, 15 Jul 2025 10:00:20 +0000 (UTC) X-FDA: 83666053800.16.4E59E7B Received: from out-172.mta1.migadu.com (out-172.mta1.migadu.com [95.215.58.172]) by imf10.hostedemail.com (Postfix) with ESMTP id 880F0C0006 for ; Tue, 15 Jul 2025 10:00:17 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Wg2T7P9p; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf10.hostedemail.com: domain of hui.zhu@linux.dev designates 95.215.58.172 as permitted sender) smtp.mailfrom=hui.zhu@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752573619; a=rsa-sha256; cv=none; b=sOHb5HsxjpVt3I5wY3F3emSl2QWlgskjWCaP8PEPoamUrAi4GhU8R6r4tCqD45Vemp+prG fSTXyCNm9tY7ybUMX5GBhHPpWLGVMBdAxzAwOo/W9mhYRzgidYZwDjeOUm0i+zaNnQxfoB qjf/WiECaLSSBTxXCYznZyOXnj7+MWs= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Wg2T7P9p; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf10.hostedemail.com: domain of hui.zhu@linux.dev designates 95.215.58.172 as permitted sender) smtp.mailfrom=hui.zhu@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752573619; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=Nng2QLzQFaX12lzTkgmMSqRelbdU2mEPT5KatLQKsfI=; b=pblioCdxxrB3s4fzgsWXsz0AzmZuwPdwnvVO/I3G/u6jnN/3B54ILtjCMSdVidRq6/A5xM yynpLEfHGFzrB3xxBmXnb8nAZOlkXPVY/1Ypyc1eEopaEzyofwXjljIiDBvd5bi/Lhs6c1 ueWBX20r7LRINA3ky44p68VAxxUCOxs= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1752573615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Nng2QLzQFaX12lzTkgmMSqRelbdU2mEPT5KatLQKsfI=; b=Wg2T7P9peGdZRAPmgd9HZG5ovvA84Q+mbmetF2MYhCxQAH0TOli4/mbm2ZQWX5jaDgY0oK u+vsxbDjglvAXiryksGT2qSt9Z2sveOHD3XI7c1KxdoxDCV9BrW0L51pzhtzhOQRdh7mnp 49okDzwuiiPtT7mVricleQsPO2o8sCM= From: Hui Zhu To: Andrew Morton , Uladzislau Rezki , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , bjorn3_gh@protonmail.com, Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , Geliang Tang , Hui Zhu , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org Subject: [PATCH 0/3] rust: allocator: Vmalloc: Support alignments larger than PAGE_SIZE Date: Tue, 15 Jul 2025 17:59:45 +0800 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 880F0C0006 X-Stat-Signature: qdxr11f1qctoe938s3ngxy577nnzy8p1 X-HE-Tag: 1752573617-983748 X-HE-Meta: U2FsdGVkX19cCVcZULDF/YqYqKJ7Irrj3+MA10/zrDR3tMa2iHV/xCGDKQALs/m87suSYoDRSeKG9JiiW8T16TOXt8c8lt3GFOVKXnUVsmUo5lVMqFBI7jbPx+E7MuO2iMAEwg8XJygKnmUbIFcR9dWOq5D4yJOxZhkN73airCVLM2exDB2PRpkC2aAE1DkV2w8VYXJ+Lh4CC5jzVY+e4V1nvKvs8nBVjC5lKL0Dao+Y2RWidXvIVkvM6wK+JF4TTRUwAlmOQhyqTg435LR0vFFH21yZbr2v2eYPE78wJsIkLEy534jdVUduUcydnoVcQl9iGA8GeNjGK0b1l7OH74MLdtA/3oWgzabGnAdHMzEUCb8HmWu/sdslyMCmF47Wr9WRan2KoIXNbUhXH/NZ7qETcbdjf6IbtnNmAtwpwWjLQBAQEkD7SMc0RXg0AOow0Bn0Q7a3X/YKjGW0RKU1hVL37AK75wWThfeTeWgGgm4ipWyYTtxidXQJki3DPVPW/rtowSgJ0/pgOwM8oLpnTrAgYX40SCIGG0WVju7eoYgzE+lk4tiX/+lQa4sxs46ufjonfxZOEHPJKRdGqXkxrNDUeNBuXzlxrHoDUh6iyyTSsJ3O6Y6VWmHCPfZsqMPMm7aXzq/dCXo+XKcujd+LX1OLxe+dfGX5Wuy0i6/dE23/gblGVaB+qd8YAF3vLM2TsxAVrxAT98Jszj2vuERpQHfo0YFO56Qob4AGbuFlPpB9/v4OZJkHoWZ3Bq6TKt4CGrjACPQ0BMYEj5jtfsVPI7w1QSaOF0uhHmFVqIR7snF0aMa9YUWJ3bdMC/KOzyhUReQpqafejsMp3JQWxz9QwH5MlHHt3yZyjYQdrpc/VlqU3rCy0p1o3dB0mjDypxlbK3R/rMw5GByXwe17TMMt+BQNpPH+2VzW4Bae6wRfYeuhGrCQGobKK2TBo0f8SgumI0pomToqbmRrIc7pMTq isP3cuQb 30GOn71eE+jLiZ3zbgrIE+Ad6ldI0s9BHAZa281zIPQYn0D7bkkekIAv/VnipcKmYwEUlMjzsRINHvuVmX4Chc19+TmE/UFVwBs9nzLevTnAIYE1LL7vl6L9HLuprMSz0fa0i2zSxOfvHIOUyhq5vRkuIqEkaKaUlIf0Gt7H6JlYq+PqfsAi0xqSkUyH3A5glzGjSFmcpDayr8Jc3AoRaeVL9ZslWMnjThnXNcwe4AWdXF4cjJjY2np5+RGObvvf+Y1xS1cmG36FAOsl3InZQJokT0gE+itMzlrNQ 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: From: Hui Zhu There is a TODO in Vmalloc::realloc "Support alignments larger than PAGE_SIZE." These commits make allocator vmalloc support alignments larger than PAGE_SIZE. The function vrealloc_align is added to vmalloc.c to support reallocating aligned vmap pages. When Vmalloc::realloc intends to reallocate memory aligned beyond PAGE_SIZE, vrealloc_align should be used instead of vrealloc, thus enabling support for alignments larger than PAGE_SIZE. And add a sample to the samples memory allocator usage. Hui Zhu (3): vmalloc: Add vrealloc_align to support allocation of aligned vmap pages rust: allocator: Vmalloc: Support alignments larger than PAGE_SIZE rust: add a sample allocator usage include/linux/vmalloc.h | 5 ++ mm/vmalloc.c | 80 ++++++++++++++++--------- rust/helpers/vmalloc.c | 7 +++ rust/kernel/alloc/allocator.rs | 32 ++++++---- samples/rust/Kconfig | 10 ++++ samples/rust/Makefile | 1 + samples/rust/rust_allocator.rs | 104 +++++++++++++++++++++++++++++++++ 7 files changed, 199 insertions(+), 40 deletions(-) create mode 100644 samples/rust/rust_allocator.rs -- 2.43.0