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 6F566C761AF for ; Thu, 23 Mar 2023 06:01:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 092246B007E; Thu, 23 Mar 2023 02:01:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 042436B0080; Thu, 23 Mar 2023 02:01:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E739A6B0081; Thu, 23 Mar 2023 02:01:44 -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 D92D16B007E for ; Thu, 23 Mar 2023 02:01:44 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A40151C1FC3 for ; Thu, 23 Mar 2023 06:01:44 +0000 (UTC) X-FDA: 80599116528.06.B6F3E2A Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf16.hostedemail.com (Postfix) with ESMTP id EA2E9180017 for ; Thu, 23 Mar 2023 06:01:42 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf16.hostedemail.com: domain of chaitanyas.prakash@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=chaitanyas.prakash@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679551303; 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:in-reply-to:references:references; bh=QKkBJuvXbrsAI+AD/bPq3WUpJlATaDgZokNHDFx40x0=; b=h1LPYtXAnPRFzymPGoLSO3R7kt7VG+RQjlK/KQeQ8ZgCHW/s1bZtGSgRqK5yIHv9mGVUGw JH8FAXFXQyGVdYsSKfqKbFbtv10wbtYVorsMA73xoT+oarEmAd8u1kB7nSKVs5GZDusZyX QuvjmmpuNCL4/gkIAW07w7QzLrDP6zw= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf16.hostedemail.com: domain of chaitanyas.prakash@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=chaitanyas.prakash@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679551303; a=rsa-sha256; cv=none; b=36IvbQ/ktTkzDyj08VRdQzLFcD8bkPuoB+4VjEoEZp2K3TpbhdTC6+Y+r+Ykn+Zvd7A+X3 G7tA90JCnLv2M9+g3PELKwg7dVBzIhVYX7Ytcq7m71yNq4DjdPD4OxGVmH+Im5DeASAPHI 5u5XwaTbj2hzJQgTDWUFP0MK3FVP/Ec= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0B8ED4B3; Wed, 22 Mar 2023 23:02:26 -0700 (PDT) Received: from a077209.blr.arm.com (a077209.arm.com [10.162.40.145]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C20813F67D; Wed, 22 Mar 2023 23:01:38 -0700 (PDT) From: Chaitanya S Prakash To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Chaitanya S Prakash , Andrew Morton , David Hildenbrand , Shuah Khan , linux-kselftest@vger.kernel.org Subject: [PATCH 2/3] selftests/mm: Change NR_CHUNKS_HIGH for aarch64 Date: Thu, 23 Mar 2023 11:31:20 +0530 Message-Id: <20230323060121.1175830-3-chaitanyas.prakash@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230323060121.1175830-1-chaitanyas.prakash@arm.com> References: <20230323060121.1175830-1-chaitanyas.prakash@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: EA2E9180017 X-Stat-Signature: zbnbk4ec9eeukf4896e5r4ib6j8zeprk X-HE-Tag: 1679551302-563905 X-HE-Meta: U2FsdGVkX1+44wkEd65l8Ez7bA9hIHelkI1UMfOv0QOzvw3zT87tgUjozWHdBZ0EaMvFgCAya6oLcvgDIwD/6YF1gWPyY/iBC4uir1TliDeb1Z8q9Tk6eTuI03Z+VGHlb95ZftGCgXNgTmsiG4IFKGBPtQOLJzl9NoaB9cg4PDljo7vApu++w8sQ8432y7L6MfheN8SQaBZuTSpgD4z/tQL4r68uMv/wkIlLvwuwNbaWMAz4aF/FeZWIbCanrwrmcKx8brpMX4wSEwGMNgsf4m4B+jCBgMrlANlJ72p6x31iVbNkY/3KEGooDtnuwfOcsjqh5nz5P5bfjOFHG0Ns1Rt267xlOwKeezwsuy7CzZ24PeOczNpnufkmeIF4qwQDe/lOOa61p0R1yKjXCswvtr8aRf2gf0vcomzsf/rEnCyaD93pHufwLgmXTo6q17lQDL588kw+U2D7BnCRZDWLnqjxVbqN0QgwcMrQ+YNM4nqr3R/dCHJW8wQAFmcG+nlxd/yYbtSb/aDbcqs+78XJnYmbvEsRisX+b4pcvhFOK5JKTvPxk1aceJrvUclCfvrGee0y5DQolQxeespkjNvgylvizW7vjLFkTwnVI2bo0fvHDbAaJfi4r4fbaM34L+XgwwDEpMELT7kPnxV+3UwUAvKu6PtwycnrOVjP6dhlS5kwL2eA2HfPUFej4Dh41pU0G3lGvnXx9FDcxpGAYt+mTklm8401odeaRtF6l6PhRTUhPgPr16BYdFqy3/aCqGXBoGrFLByL2fozkYxkYF85rD263t1ZKi0f9utUQ6jFEOfppFb01bo+uo35X8/s3UErNTJj+5G/29aLT38weiaP7Ka+YDYkJoODCggGmNA8bnL16uVlEUjRSERgWyyQgayocGJPRG3zSq8HaHFvKXucLIcA64olShJvxLmavzhOawDHrmtXl+l0PgV+Swvoo537oVkWEMD6vDN/wIz8QWv IqjcqduL jpWZEWXQriaGYvMy+n3D8fdKTyiT42Bwd3zI1bGEl0ls40n5nr5OtVYZykm2AoSO0d6j2nn+SakRWOggCjs1u7CkhYQgm1NjwUpeQoF0DciDJp3hjAnDTkmMwHF9Z0VObekbw1E81tmcC9u6KcwK5tHVvO47T7jtl4v661w/Y4YBrKkEC+MsRfQi8EBqyPRxQ9/gttiYVFGNFhQfSy977iQGyOAcEkmgjNrfNA2/jq1liaXHpONhKs10PYe7yzDHTk5/87ilO12nNfeQTROQ2bmQpgXh6/bXL1FALx67yFt92qZmVZxtWaVjPsh1QIEqj6YLB0t5cdlL4xvLb+HZSVxAAqTAKQn9U/enuEk3tTZNGkS4Flud8qKOOfW1iDlTJkn0YZVaB6hJ3r88cEiWbgES++sPe8rCwlmiIoSALpJQ8x2w= 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: Although there is a provision for 52 bit VA on arm64 platform, it remains unutilised and higher addresses are not allocated. In order to accommodate 4PB [2^52] virtual address space where supported, NR_CHUNKS_HIGH is changed accordingly. Array holding addresses is changed from static allocation to dynamic allocation to accommodate its voluminous nature which otherwise might overflow the stack. Cc: Andrew Morton Cc: David Hildenbrand Cc: Shuah Khan Cc: linux-mm@kvack.org Cc: linux-kselftest@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Chaitanya S Prakash --- tools/testing/selftests/mm/virtual_address_range.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/mm/virtual_address_range.c b/tools/testing/selftests/mm/virtual_address_range.c index 50564512c5ee..bae0ceaf95b1 100644 --- a/tools/testing/selftests/mm/virtual_address_range.c +++ b/tools/testing/selftests/mm/virtual_address_range.c @@ -36,13 +36,15 @@ * till it reaches 512TB. One with size 128TB and the * other being 384TB. * - * On Arm64 the address space is 256TB and no high mappings - * are supported so far. + * On Arm64 the address space is 256TB and support for + * high mappings up to 4PB virtual address space has + * been added. */ #define NR_CHUNKS_128TB ((128 * SZ_1TB) / MAP_CHUNK_SIZE) /* Number of chunks for 128TB */ #define NR_CHUNKS_256TB (NR_CHUNKS_128TB * 2UL) #define NR_CHUNKS_384TB (NR_CHUNKS_128TB * 3UL) +#define NR_CHUNKS_3840TB (NR_CHUNKS_128TB * 30UL) #define ADDR_MARK_128TB (1UL << 47) /* First address beyond 128TB */ #define ADDR_MARK_256TB (1UL << 48) /* First address beyond 256TB */ @@ -51,7 +53,7 @@ #define HIGH_ADDR_MARK ADDR_MARK_256TB #define HIGH_ADDR_SHIFT 49 #define NR_CHUNKS_LOW NR_CHUNKS_256TB -#define NR_CHUNKS_HIGH 0 +#define NR_CHUNKS_HIGH NR_CHUNKS_3840TB #else #define HIGH_ADDR_MARK ADDR_MARK_128TB #define HIGH_ADDR_SHIFT 48 @@ -101,7 +103,7 @@ static int validate_lower_address_hint(void) int main(int argc, char *argv[]) { char *ptr[NR_CHUNKS_LOW]; - char *hptr[NR_CHUNKS_HIGH]; + char **hptr; char *hint; unsigned long i, lchunks, hchunks; @@ -119,6 +121,9 @@ int main(int argc, char *argv[]) return 1; } lchunks = i; + hptr = (char **) calloc(NR_CHUNKS_HIGH, sizeof(char *)); + if (hptr == NULL) + return 1; for (i = 0; i < NR_CHUNKS_HIGH; i++) { hint = hind_addr(); @@ -139,5 +144,6 @@ int main(int argc, char *argv[]) for (i = 0; i < hchunks; i++) munmap(hptr[i], MAP_CHUNK_SIZE); + free(hptr); return 0; } -- 2.30.2