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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AAB4C433F5 for ; Mon, 27 Dec 2021 14:49:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237180AbhL0Oto (ORCPT ); Mon, 27 Dec 2021 09:49:44 -0500 Received: from szxga08-in.huawei.com ([45.249.212.255]:30116 "EHLO szxga08-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234125AbhL0Otn (ORCPT ); Mon, 27 Dec 2021 09:49:43 -0500 Received: from dggpemm500021.china.huawei.com (unknown [172.30.72.54]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4JN0q60Bskz1DK7x; Mon, 27 Dec 2021 22:46:26 +0800 (CST) Received: from dggpemm500001.china.huawei.com (7.185.36.107) by dggpemm500021.china.huawei.com (7.185.36.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 27 Dec 2021 22:49:41 +0800 Received: from localhost.localdomain.localdomain (10.175.113.25) by dggpemm500001.china.huawei.com (7.185.36.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 27 Dec 2021 22:49:40 +0800 From: Kefeng Wang To: Jonathan Corbet , Andrew Morton , , , , , , CC: Nicholas Piggin , Catalin Marinas , Will Deacon , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Michael Ellerman , "Benjamin Herrenschmidt" , Paul Mackerras , Christophe Leroy , Matthew Wilcox , Kefeng Wang Subject: [PATCH v2 0/3] mm: support huge vmalloc mapping on arm64/x86 Date: Mon, 27 Dec 2021 22:59:00 +0800 Message-ID: <20211227145903.187152-1-wangkefeng.wang@huawei.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.113.25] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To dggpemm500001.china.huawei.com (7.185.36.107) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Huge vmalloc mappings is supported on PPC[1], but this feature should be not only used on PPC, it could be used on arch support HAVE_ARCH_HUGE_VMAP and PMD sized vmap mappings. this patchset is to enable this feature on arm64/x86. There are some disadvantages about this feature[2], one of the main concerns is the possible memory fragmentation/waste in some scenarios, also archs must ensure that any arch specific vmalloc allocations that require PAGE_SIZE mappings(eg, module alloc with STRICT_MODULE_RWX) use the VM_NO_HUGE_VMAP flag to inhibit larger mappings. Based on the above considerations, we add the first patch is to let user to control huge vmalloc mapping default behavior. Meanwhile, add new kernel parameter hugevmalloc=on/off to enable/disable this feature at boot time, nohugevmalloc parameter is still supported. The later two patches to enable this feature on arm64/x86, select HAVE_ARCH_HUGE_VMALLOC and mark VM_NO_HUGE_VMAP in arch's module_alloc(). This patchset based on next-20211224. v2: - Default y for HUGE_VMALLOC_DEFAULT_ENABLED, not only select it on PPC - Fix copy/type error - Mark VM_NO_HUGE_VMAP in module_alloc() on arm64/x86 [1] https://lore.kernel.org/linux-mm/20210317062402.533919-1-npiggin@gmail.com/ [2] https://lore.kernel.org/linux-mm/1616036421.amjz2efujj.astroid@bobo.none/ Kefeng Wang (3): mm: vmalloc: Let user to control huge vmalloc default behavior arm64: Support huge vmalloc mappings x86: Support huge vmalloc mappings .../admin-guide/kernel-parameters.txt | 14 +++++++++++++- arch/arm64/Kconfig | 1 + arch/arm64/kernel/module.c | 5 +++-- arch/x86/Kconfig | 1 + arch/x86/kernel/module.c | 4 ++-- mm/Kconfig | 8 ++++++++ mm/vmalloc.c | 18 +++++++++++++++++- 7 files changed, 45 insertions(+), 6 deletions(-) -- 2.26.2 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (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 943D6C433F5 for ; Mon, 27 Dec 2021 14:50:19 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JN0vY696pz2ynQ for ; Tue, 28 Dec 2021 01:50:17 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=huawei.com (client-ip=45.249.212.255; helo=szxga08-in.huawei.com; envelope-from=wangkefeng.wang@huawei.com; receiver=) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JN0v54vJXz2xDT for ; Tue, 28 Dec 2021 01:49:50 +1100 (AEDT) Received: from dggpemm500021.china.huawei.com (unknown [172.30.72.54]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4JN0q60Bskz1DK7x; Mon, 27 Dec 2021 22:46:26 +0800 (CST) Received: from dggpemm500001.china.huawei.com (7.185.36.107) by dggpemm500021.china.huawei.com (7.185.36.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 27 Dec 2021 22:49:41 +0800 Received: from localhost.localdomain.localdomain (10.175.113.25) by dggpemm500001.china.huawei.com (7.185.36.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 27 Dec 2021 22:49:40 +0800 From: Kefeng Wang To: Jonathan Corbet , Andrew Morton , , , , , , Subject: [PATCH v2 0/3] mm: support huge vmalloc mapping on arm64/x86 Date: Mon, 27 Dec 2021 22:59:00 +0800 Message-ID: <20211227145903.187152-1-wangkefeng.wang@huawei.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.175.113.25] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To dggpemm500001.china.huawei.com (7.185.36.107) X-CFilter-Loop: Reflected X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kefeng Wang , Matthew Wilcox , Catalin Marinas , Dave Hansen , Nicholas Piggin , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Paul Mackerras , Thomas Gleixner , Will Deacon Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Huge vmalloc mappings is supported on PPC[1], but this feature should be not only used on PPC, it could be used on arch support HAVE_ARCH_HUGE_VMAP and PMD sized vmap mappings. this patchset is to enable this feature on arm64/x86. There are some disadvantages about this feature[2], one of the main concerns is the possible memory fragmentation/waste in some scenarios, also archs must ensure that any arch specific vmalloc allocations that require PAGE_SIZE mappings(eg, module alloc with STRICT_MODULE_RWX) use the VM_NO_HUGE_VMAP flag to inhibit larger mappings. Based on the above considerations, we add the first patch is to let user to control huge vmalloc mapping default behavior. Meanwhile, add new kernel parameter hugevmalloc=on/off to enable/disable this feature at boot time, nohugevmalloc parameter is still supported. The later two patches to enable this feature on arm64/x86, select HAVE_ARCH_HUGE_VMALLOC and mark VM_NO_HUGE_VMAP in arch's module_alloc(). This patchset based on next-20211224. v2: - Default y for HUGE_VMALLOC_DEFAULT_ENABLED, not only select it on PPC - Fix copy/type error - Mark VM_NO_HUGE_VMAP in module_alloc() on arm64/x86 [1] https://lore.kernel.org/linux-mm/20210317062402.533919-1-npiggin@gmail.com/ [2] https://lore.kernel.org/linux-mm/1616036421.amjz2efujj.astroid@bobo.none/ Kefeng Wang (3): mm: vmalloc: Let user to control huge vmalloc default behavior arm64: Support huge vmalloc mappings x86: Support huge vmalloc mappings .../admin-guide/kernel-parameters.txt | 14 +++++++++++++- arch/arm64/Kconfig | 1 + arch/arm64/kernel/module.c | 5 +++-- arch/x86/Kconfig | 1 + arch/x86/kernel/module.c | 4 ++-- mm/Kconfig | 8 ++++++++ mm/vmalloc.c | 18 +++++++++++++++++- 7 files changed, 45 insertions(+), 6 deletions(-) -- 2.26.2 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 A98A0C433EF for ; Mon, 27 Dec 2021 14:52:27 +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:MIME-Version:Message-ID:Date:Subject:CC :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=PLA6JE0D8OVNnaWEnwk//0Za61kiXFurXYAH2Bl01lU=; b=D7GKYFsyRboX7B 8oazXQmk2GwORbtz4k56gHl8AjozDNyBLrRWOLAPY+pzDMbGmO10Crma6N4wEOVCFvg4sjkUo79GQ qe8e30x0TezVGOSADlOTgmneIBIwaPrwVSXvKVR0xtXnvOCHIVzcuvRZO6R7KKAIwj3qwjfFKewbN U1ADJL9chwMrYJ21EadmSPd5YUF/fqwUzA4ZYBqsFhJE6CC36OFykHQ43h+Av0w4ri5MLlEGElUyX GtcCvSr5ainX4P8Uo3ORur0Kl744H3bjWk5ci52+78/aw9bTwh/EfqMfoGnpnYKJQVtnPpVNY9CZ5 yhd9DMQFjwKmP6P1Rnxg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n1rK9-00GpI0-US; Mon, 27 Dec 2021 14:50:06 +0000 Received: from szxga08-in.huawei.com ([45.249.212.255]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n1rJw-00GpA9-8l for linux-arm-kernel@lists.infradead.org; Mon, 27 Dec 2021 14:49:55 +0000 Received: from dggpemm500021.china.huawei.com (unknown [172.30.72.54]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4JN0q60Bskz1DK7x; Mon, 27 Dec 2021 22:46:26 +0800 (CST) Received: from dggpemm500001.china.huawei.com (7.185.36.107) by dggpemm500021.china.huawei.com (7.185.36.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 27 Dec 2021 22:49:41 +0800 Received: from localhost.localdomain.localdomain (10.175.113.25) by dggpemm500001.china.huawei.com (7.185.36.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 27 Dec 2021 22:49:40 +0800 From: Kefeng Wang To: Jonathan Corbet , Andrew Morton , , , , , , CC: Nicholas Piggin , Catalin Marinas , Will Deacon , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Michael Ellerman , "Benjamin Herrenschmidt" , Paul Mackerras , Christophe Leroy , Matthew Wilcox , Kefeng Wang Subject: [PATCH v2 0/3] mm: support huge vmalloc mapping on arm64/x86 Date: Mon, 27 Dec 2021 22:59:00 +0800 Message-ID: <20211227145903.187152-1-wangkefeng.wang@huawei.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-Originating-IP: [10.175.113.25] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To dggpemm500001.china.huawei.com (7.185.36.107) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211227_064952_517859_BF072FAE X-CRM114-Status: GOOD ( 14.05 ) 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 Huge vmalloc mappings is supported on PPC[1], but this feature should be not only used on PPC, it could be used on arch support HAVE_ARCH_HUGE_VMAP and PMD sized vmap mappings. this patchset is to enable this feature on arm64/x86. There are some disadvantages about this feature[2], one of the main concerns is the possible memory fragmentation/waste in some scenarios, also archs must ensure that any arch specific vmalloc allocations that require PAGE_SIZE mappings(eg, module alloc with STRICT_MODULE_RWX) use the VM_NO_HUGE_VMAP flag to inhibit larger mappings. Based on the above considerations, we add the first patch is to let user to control huge vmalloc mapping default behavior. Meanwhile, add new kernel parameter hugevmalloc=on/off to enable/disable this feature at boot time, nohugevmalloc parameter is still supported. The later two patches to enable this feature on arm64/x86, select HAVE_ARCH_HUGE_VMALLOC and mark VM_NO_HUGE_VMAP in arch's module_alloc(). This patchset based on next-20211224. v2: - Default y for HUGE_VMALLOC_DEFAULT_ENABLED, not only select it on PPC - Fix copy/type error - Mark VM_NO_HUGE_VMAP in module_alloc() on arm64/x86 [1] https://lore.kernel.org/linux-mm/20210317062402.533919-1-npiggin@gmail.com/ [2] https://lore.kernel.org/linux-mm/1616036421.amjz2efujj.astroid@bobo.none/ Kefeng Wang (3): mm: vmalloc: Let user to control huge vmalloc default behavior arm64: Support huge vmalloc mappings x86: Support huge vmalloc mappings .../admin-guide/kernel-parameters.txt | 14 +++++++++++++- arch/arm64/Kconfig | 1 + arch/arm64/kernel/module.c | 5 +++-- arch/x86/Kconfig | 1 + arch/x86/kernel/module.c | 4 ++-- mm/Kconfig | 8 ++++++++ mm/vmalloc.c | 18 +++++++++++++++++- 7 files changed, 45 insertions(+), 6 deletions(-) -- 2.26.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel