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 67702D1D896 for ; Tue, 15 Oct 2024 18:41:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 01A746B008C; Tue, 15 Oct 2024 14:41:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F0C486B0092; Tue, 15 Oct 2024 14:41:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DACCE6B0093; Tue, 15 Oct 2024 14:41:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id BB32B6B008C for ; Tue, 15 Oct 2024 14:41:22 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 433FB1C7215 for ; Tue, 15 Oct 2024 18:41:12 +0000 (UTC) X-FDA: 82676704152.06.ABD8D27 Received: from fout-a6-smtp.messagingengine.com (fout-a6-smtp.messagingengine.com [103.168.172.149]) by imf13.hostedemail.com (Postfix) with ESMTP id 3D75E2000B for ; Tue, 15 Oct 2024 18:41:12 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=ryhl.io header.s=fm2 header.b=t3s9ivZs; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="E cotUn0"; spf=pass (imf13.hostedemail.com: domain of alice@ryhl.io designates 103.168.172.149 as permitted sender) smtp.mailfrom=alice@ryhl.io; dmarc=pass (policy=none) header.from=ryhl.io ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729017607; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/M9sEvglFwYFFRw+Fxs1ReLqO49t1fQGy/y6rplIerA=; b=0e8UxqlqXyVeQCuSwgt3ScWuxcBX+Grq8NVz5PjVYByPESX1YvKH8CV3Viffz38c7QgzZ8 wqG8sB3gHUpNL4nz/GsmXjgGSaXaHOUZ1Rx48gvAFw/X1w77FWLRCLqJv9+0t7/UiixpWF NXWnPAYWsMm+DA+PusqdhHX6WgkiL/8= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=ryhl.io header.s=fm2 header.b=t3s9ivZs; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="E cotUn0"; spf=pass (imf13.hostedemail.com: domain of alice@ryhl.io designates 103.168.172.149 as permitted sender) smtp.mailfrom=alice@ryhl.io; dmarc=pass (policy=none) header.from=ryhl.io ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729017607; a=rsa-sha256; cv=none; b=kAs2nIXj9MEdMgzHN8Df3CClNyPhRoAToDH4WHrybcTFtnp1UFsC9uLJUqCequYKDN/P6m jjKEaUIocpTKWeJxdIOH/IV5/cEZ3OmGGDcZC2vDMkDewJOC5Rys9vmwYsQylZYb1Ea2r4 K4ZSCNi/UNkYeH1fLoxCh+kEO6cUnKA= Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfout.phl.internal (Postfix) with ESMTP id 5AC2813801DB; Tue, 15 Oct 2024 14:41:19 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Tue, 15 Oct 2024 14:41:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ryhl.io; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1729017679; x=1729104079; bh=/M9sEvglFwYFFRw+Fxs1ReLqO49t1fQGy/y6rplIerA=; b= t3s9ivZsiYqISS2XILFZASY3G0nReuuEv7LmVx8h8WJBFXwKBAaJZDXSH0iD/W4Q ajt2wFpnIlO7cykF81SjPvyFtQfboWfbftoGNyHicFUzn/xRxojca9Et4RwMReU2 dxw7CLTRdXhC8y2nawBnFAaa6r1PqMakQMlbtdJVVpcy1SO3o9CuDwieqi1Lf2IM xYgcWNbUtYLIKdoDVaJ1MK6OiBXCuUHnpySfcBZCUNha3a4BG6uW/3KED6jEnBDR 2IChk+KsQM5qeAc16B+maZlsjOEyoZp5WCiIFhkePKH2um3yNyhtA+VeQNNRv6uW CfGU5ImoJu5hDHBXkqWniw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1729017679; x= 1729104079; bh=/M9sEvglFwYFFRw+Fxs1ReLqO49t1fQGy/y6rplIerA=; b=E cotUn04J+aguvlmt+Ezr7Xh8bpoyRsppFhEYEKR6slfCVbMYnrsEHOyC8s38JdTO /JgniILf5vEA3NObjLsT2C1D4eR2bZ/goG0ifxhx6ylNLbPXKK45CcZDWwRCusXf zEhzJoOtVIFT4DJ4OIZt8AbscZvezlZQWTCIgUmEb2vLhTbqpEYYH9KLPu/hu6OE ykKesoJPiYm8fXPIl/7BVR4+6+gwK8qw5KiKkPAu5T20uDSrIPNtX6akCyNgsdAT 2uztvdZpdaxq3vA8ol+opnkwEZxjtZexwZfCabzytepIDcOgpiqfR88KNNHTP9OS s3Iqwzk4iZbjgVC+W7Rqw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdegjedguddvkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddv jeenucfhrhhomheptehlihgtvgcutfihhhhluceorghlihgtvgesrhihhhhlrdhioheqne cuggftrfgrthhtvghrnhepfefguefgtdeghfeuieduffejhfevueehueehkedvteefgfeh hedtffdutdfgudejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomheprghlihgtvgesrhihhhhlrdhiohdpnhgspghrtghpthhtohepudegpdhmohgu vgepshhmthhpohhuthdprhgtphhtthhopegsohhquhhnrdhfvghnghesghhmrghilhdrtg homhdprhgtphhtthhopegrlhhitggvrhihhhhlsehgohhoghhlvgdrtghomhdprhgtphht thhopehojhgvuggrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopegrkhhpmheslhhinh hugidqfhhouhhnuggrthhiohhnrdhorhhgpdhrtghpthhtohepfihilhhlhiesihhnfhhr rgguvggrugdrohhrghdprhgtphhtthhopegrlhgvgidrghgrhihnohhrsehgmhgrihhlrd gtohhmpdhrtghpthhtohepghgrrhihsehgrghrhihguhhordhnvghtpdhrtghpthhtohep sghjohhrnhefpghghhesphhrohhtohhnmhgrihhlrdgtohhmpdhrtghpthhtohepsggvnh hnohdrlhhoshhsihhnsehprhhothhonhdrmhgv X-ME-Proxy: Feedback-ID: i56684263:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 15 Oct 2024 14:41:16 -0400 (EDT) Message-ID: <3ea20eb4-2a88-40bd-a453-bf2ff5d52d03@ryhl.io> Date: Tue, 15 Oct 2024 20:44:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] rust: page: add Rust version of PAGE_ALIGN To: Boqun Feng , Alice Ryhl Cc: Miguel Ojeda , Andrew Morton , "Matthew Wilcox (Oracle)" , Alex Gaynor , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , linux-mm@kvack.org, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org References: <20241015-page-align-v1-1-68fbd8b6d10c@google.com> Content-Language: en-US, da From: Alice Ryhl In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 3D75E2000B X-Stat-Signature: tsme9xmbxa8xx1trn44fk48tpbtzdydq X-HE-Tag: 1729017672-751474 X-HE-Meta: U2FsdGVkX19MzP8KNPL1pAeM/cwJPgDUaPwSKIkVqK2gnjd8jvJ1I1pcVnJQogaqLPSY3XjayX9CTRGmfxt/y0OgK4q1ZUui+C6oYcHf9ZBI3z5RYovOkJDo0+yReivhiWiaGROFE06nFOgxYFq2ac2VVI1YtXBVDvk0hDLp4D1+EoAau+9O3+ToV9heyFzrKIA39kZdX+Ut3FBm7/QnhS+R1jv7Ha2b0K1W+5Smk0Eui/aLWO6xRP50CIESHn46vL9MrbiMb/7PXLxjJyAi/5KpvhmHr06gRu8e9fXvpGh+nntHTg8TjemUYpDCIluaiTp76jICVoxraVb8/6Xc4av0e/2U1SO8s5w+UzA9StGNu/4JGf/jYHFzkAw5Ysn2hymXFkFBrZlww9TJGh3kfZPUSHpnox4mKTmPxrTF3xKyTFOf6k3h8USpCiasDSy8sN7O6/CNHKI9HBhDTr3lsZIcyaDf7l/fE94ZUxdXgidYXIlfZWKOBwXivAxLhWXiEJ/AdboMKIiAXUme+3q9706eV7rLmUasG5c+vDb2zzLppmfQUk/enEXOlewUYfh1W8305g/m3dENCdyafIVV0MZl7/QP4JBi1LiqAdN1QLHTj67VUQXs3tLnCk5tFAbAi3EehTckXDqFJ6BQEZ3lbj065odZrPpa95f9F3BPGu/NcGZ+OVKweEOBm+Cbk12lpmbg4cvht+jLatFYeoA2Lupj8rUak9apizfrhTfxHeF26UKxIxPrhG3RLFFzbxXYrt5d7YU2/IvKNvbh4O6RgMvPA88QWaFPcLRLiDn7q7Uv0IiIdQ1NFivDNFDyeZKcOD9Wp5B2VvoMZKg2frbSqld+8sDBAiXNTnDz9k4i+H83tJuofvVYFb4QoVxl6+wdt1NyudEs46kyw+ABnfm9fPTrxnbGM6g/caCH6z7xDH3Su666cXHhqguFMShSgEw0gNVjoRVj13RTddNiKnX RxXEiKrX /66IGuoMsL6IoMBY58ZcH8PKbvZMlWPHZcQiOWxWAEsbmgBer6XT8llycUVT1uzJvVUBgzLFTH28ozlETaNzHRICbO8wDOhBk7WlJ/52qupn0OO/909hdwp4KmN6u+YNI+4X2m8bMyNaP/drljSFOTRjxs6G68+iFg7K4aljuqECgntMTEkZbFL1f41VxJbIoZvsYPMy+ygC14p2WEHArJdD+1EWzjcBHJRGUMdTNMr2/3y7AUh1oJrRc4yiYv2MRZVoT7T4QA8TOzsXWhCPoDjatGqC+2pBY2k2RYyUiSjMvgROGu/SrBIdWGy4U0QvLMvRGf2tAyqdN771byUEM5lbejAcVZb5AdkQ94u5BozVac1IJbklrg7qu9ta4q1gHZzSnCD+Vl+jto2vy+UKB+F9I5qe1G52c/dJp0o3sjfw5lvVyEw/MxzL2HDSCFTEqr/lYqA/JmF7+yHQ= 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 10/15/24 8:33 PM, Boqun Feng wrote: > On Tue, Oct 15, 2024 at 02:28:28PM +0000, Alice Ryhl wrote: >> This is a useful for helper for working with indices into buffers that >> consist of several pages. I forgot to include it when I added PAGE_SIZE >> and PAGE_MASK for the same purpose in commit fc6e66f4696b ("rust: add >> abstraction for `struct page`"). >> >> Signed-off-by: Alice Ryhl >> --- >> rust/kernel/page.rs | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/rust/kernel/page.rs b/rust/kernel/page.rs >> index 208a006d587c..90846e3fe829 100644 >> --- a/rust/kernel/page.rs >> +++ b/rust/kernel/page.rs >> @@ -20,6 +20,11 @@ >> /// A bitmask that gives the page containing a given address. >> pub const PAGE_MASK: usize = !(PAGE_SIZE - 1); >> >> +/// Round up the given number to a multiple of `PAGE_SIZE`. >> +pub fn page_align(addr: usize) -> usize { > > Make it a `const` function? For example, there is a VMBUS_RING_SIZE() > macro in C that calculates a const number for a vmbus ringbuffer size, > so it will be useful. Good idea. >> + (addr + (PAGE_SIZE - 1)) & PAGE_MASK > > I guess overflows are unexpected, i.e. the users should not pass a > `addr` that `> usize::MAX - PAGE_SIZE + 1`? Correct. If this wraps around to zero, that's incorrect. Note that the minus one is in brackets to only trigger overflow detection in the right cases. I can mention this in the docs. Alice