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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1A3FCC4167B for ; Wed, 29 Nov 2023 12:31:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=Q0niNzGLE6dbY3ah0MYiyZM9l7e/j792YaYFbUuINSg=; b=Mk4mt5d8ijovfZTNYNS+7F802J f7bXagiBDSIHKDqMEKcTrRUNhXecDwJDhzIN9OP29+dQdGk4I74uqXTgkP6ITCafggM+GbSJZ11qU /Z2TzzMASGazt/M93nBoXgxai20/6mr3+n1PG03ojFDJdXttmCOVNNuZtV+zGysFpxrb9REWviP8D +tyZTJqlAOUUFV5s7BsbP6JQfqkyq40lcDu8rbzw4f1nhIXmwZI/Od8g24HQzBLMXad3ZAaoN6ZdN Wx/HC2bSNGcRpzwbmMMZfa25BuI6OBWxGpspmsp1RCrO6ufInwHcg1qD/SJA+o6IETkIMGb9MYluk Q3emwwzQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r8Jie-008KCF-2s; Wed, 29 Nov 2023 12:31:08 +0000 Received: from mail-yw1-x1149.google.com ([2607:f8b0:4864:20::1149]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r8IZV-007z8H-0M for linux-arm-kernel@lists.infradead.org; Wed, 29 Nov 2023 11:17:38 +0000 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5cd573c2cccso6154597b3.1 for ; Wed, 29 Nov 2023 03:17:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701256656; x=1701861456; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=B+BEyFXzG6cg5GYg8KNy+ajGmyiq/MJQTumFJr+LLPA=; b=SXYfXpzxfxrcyU3TnKTGui1q/zSXjSNYINoqJAP4TbqMIoVghgV+tyROLwd7QBumWz 7287icinvqoCsnte7NyNn7kBz6O7N9gafMbuVwQ12R4UBN8EkMp/MieXakM9ZPtx36Lp 8dh+iwd87SQ7dm7hkxmvDBGlh4JwcHlCHH5sFeCzXmls//j1d2MO9t0srSKWH7nuq/0w hEAtp04JVx4TdY+M75RemCjJ2nsZkbVTj+tpkRLvirsgUafCG5k0PXTsC15JRPchFdt1 7qhg+fbTIv2wRyjodxEzetk4MmRDekSz0FaLN0d5Ss+pMXhyHz9Q5UhZxXUPWQc/Ktvs CZCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701256656; x=1701861456; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=B+BEyFXzG6cg5GYg8KNy+ajGmyiq/MJQTumFJr+LLPA=; b=ubqR4l4KYiE2UEafLTe9gPvZdHNQdnXzuBG/x3PG7VVkoYY/bW5ClhG9fVEAsbzAfq e99Dkp05KPf4u93WpCzNQZ6wUGuGXDNlerqgUKsMVMzgUkojt/u/Cqcj2ed0C3LxN+aN 8SWpSAPbFmxqdQZ+7HxOhQWIMo2y0k6VWng+egh37yJAOv6Ny0DRDm4NoXjcw4hyyg+L 9/cYPIMqwvxRpG06CjsLJrlruN2EDnOWidn1GDOR48fJQFatFMWxq9uPCy1Vrsha0UMs HLnxpFGBiKPYgnjgoAtxW2GGrsMtjJ77aNFZr5dOC1zylSzTZCQmdhgGyov1om1z5joN qb2g== X-Gm-Message-State: AOJu0YzmpxGXzBFAPAFz2WOZs2O3UpiUogbKTG9S2EwtRh8skOhkopsN GYOai58eeq/jw+s2OpL0zuNjLt7ap6Zl+A3YVAU1M0PObd31gq4Eie2FzG4fJFUvZ4LZqG3gJIy S4S6c6LxvdaALqqPrc+09fghNMg4ddXxnEmhEcmx8x0MeTr2R+dm27SH0sPCq3GE7IinpB3aFDM k= X-Google-Smtp-Source: AGHT+IFL3tOvw1gPEXS7tbWwFft9wp2XmrRoU3wuMWBVwPQPnMc9yIop4CIfkQLoUUI11ANGVHwBAjhr X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:a05:690c:2b0a:b0:5d0:8fb3:559c with SMTP id em10-20020a05690c2b0a00b005d08fb3559cmr263783ywb.0.1701256655738; Wed, 29 Nov 2023 03:17:35 -0800 (PST) Date: Wed, 29 Nov 2023 12:16:05 +0100 In-Reply-To: <20231129111555.3594833-43-ardb@google.com> Mime-Version: 1.0 References: <20231129111555.3594833-43-ardb@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1794; i=ardb@kernel.org; h=from:subject; bh=83HVzL7EQSX7w4jk++s4dOJdvs3TCvaqo4xiMP29vyE=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JITVdtuxkZdTePc93/1l7bFLn1E+tYp/C1/XpPNwgOif3Y Yv4hNZbHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAiGXoM/1QjedTUMqtW3XXp umW3S1Wx/tWtfze8wsPjlwi3dX8Iu83IsGXHmmB9f2HHirVPBYU0lHx0X6aGLuecULIl/JGhHPt STgA= X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Message-ID: <20231129111555.3594833-52-ardb@google.com> Subject: [PATCH v6 09/41] arm64: mm: Reclaim unused vmemmap region for vmalloc use From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: Ard Biesheuvel , Catalin Marinas , Will Deacon , Marc Zyngier , Mark Rutland , Ryan Roberts , Anshuman Khandual , Kees Cook X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231129_031737_156295_4CD64876 X-CRM114-Status: GOOD ( 15.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Ard Biesheuvel The vmemmap array is statically sized based on the maximum supported size of the virtual address space, but it is located inside the upper VA region, which is statically sized based on the *minimum* supported size of the VA space. This doesn't matter much when using 64k pages, which is the only configuration that currently supports 52-bit virtual addressing. However, upcoming LPA2 support will change this picture somewhat, as in that case, the vmemmap array will take up more than 25% of the upper VA region when using 4k pages. Given that most of this space is never used when running on a system that does not support 52-bit virtual addressing, let's reclaim the unused vmemmap area in that case. Signed-off-by: Ard Biesheuvel --- arch/arm64/include/asm/pgtable.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 8d30e2787b1f..5b5bedfa320e 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -18,11 +18,15 @@ * VMALLOC range. * * VMALLOC_START: beginning of the kernel vmalloc space - * VMALLOC_END: extends to the available space below vmemmap, PCI I/O space - * and fixed mappings + * VMALLOC_END: extends to the available space below vmemmap */ #define VMALLOC_START (MODULES_END) +#if VA_BITS == VA_BITS_MIN #define VMALLOC_END (VMEMMAP_START - SZ_8M) +#else +#define VMEMMAP_UNUSED_NPAGES ((_PAGE_OFFSET(vabits_actual) - PAGE_OFFSET) >> PAGE_SHIFT) +#define VMALLOC_END (VMEMMAP_START + VMEMMAP_UNUSED_NPAGES * sizeof(struct page) - SZ_8M) +#endif #define vmemmap ((struct page *)VMEMMAP_START - (memstart_addr >> PAGE_SHIFT)) -- 2.43.0.rc1.413.gea7ed67945-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel