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 613ECCE7AF8 for ; Fri, 6 Sep 2024 09:37:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D46EA6B0089; Fri, 6 Sep 2024 05:37:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF6B96B008A; Fri, 6 Sep 2024 05:37:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BBF886B008C; Fri, 6 Sep 2024 05:37:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 996EE6B0089 for ; Fri, 6 Sep 2024 05:37:44 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 99FB6A1216 for ; Fri, 6 Sep 2024 09:37:42 +0000 (UTC) X-FDA: 82533811164.29.10F174D Received: from pegase2.c-s.fr (pegase2.c-s.fr [93.17.235.10]) by imf11.hostedemail.com (Postfix) with ESMTP id 2C53B4001E for ; Fri, 6 Sep 2024 09:37:39 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.235.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725615435; 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; bh=07zl3rDKNL42OquwovqeTaJr18sf2ej01sdg0t++LZ8=; b=bw3EzrREdMzbSgxQHjylrfgzRWKtGaC2GYp7fs0bh0wpdC0ss3lAAM+/xifmqyzvPg7Mma i4ULbzZT2UJ6WlAokP3kyTpkFAuKYPUVagTtFlSbxGT6p4ekKSvelTnWccy1wzOjNyHGM8 fsaOPSYHqpCMMoW3Vpr2c82N+hgKZPo= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.235.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725615435; a=rsa-sha256; cv=none; b=Zow3mpY9ayJiiQ7eOEpqarW4dn1mhUKBDJtK8DYSo4dQJfRjQ+Qi661bR+pH0VzLm/LqVU l+NZXyfmx3g8lZDWPg05V5R+2bUkvpvIY2ML/TccZC91xyx2/631yTxbrTW/1ywGteg3Jr 0WP2d4C+nkzmE1XhaObhJYT21IVoakM= Received: from localhost (mailhub3.si.c-s.fr [172.26.127.67]) by localhost (Postfix) with ESMTP id 4X0WNf1FhNz9sRs; Fri, 6 Sep 2024 11:37:38 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from pegase2.c-s.fr ([172.26.127.65]) by localhost (pegase2.c-s.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fKy3LdL3k-CP; Fri, 6 Sep 2024 11:37:38 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase2.c-s.fr (Postfix) with ESMTP id 4X0WNc6RQfz9sRy; Fri, 6 Sep 2024 11:37:36 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id C3BE58B77C; Fri, 6 Sep 2024 11:37:36 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id of0oryN1Xdlh; Fri, 6 Sep 2024 11:37:36 +0200 (CEST) Received: from [192.168.235.70] (unknown [192.168.235.70]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 65D348B764; Fri, 6 Sep 2024 11:37:34 +0200 (CEST) Message-ID: <7c3720ff-b763-44b0-9b57-a2fbff3c7f56@csgroup.eu> Date: Fri, 6 Sep 2024 11:37:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 7/8] execmem: add support for cache of large ROX pages To: Mike Rapoport , Andrew Morton Cc: Andreas Larsson , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Brian Cain , Catalin Marinas , Christoph Hellwig , Dave Hansen , Dinh Nguyen , Geert Uytterhoeven , Guo Ren , Helge Deller , Huacai Chen , Ingo Molnar , Johannes Berg , John Paul Adrian Glaubitz , Kent Overstreet , "Liam R. Howlett" , Luis Chamberlain , Mark Rutland , Masami Hiramatsu , Matt Turner , Max Filippov , Michael Ellerman , Michal Simek , Oleg Nesterov , Palmer Dabbelt , Peter Zijlstra , Richard Weinberger , Russell King , Song Liu , Stafford Horne , Steven Rostedt , Thomas Bogendoerfer , Thomas Gleixner , Uladzislau Rezki , Vineet Gupta , Will Deacon , bpf@vger.kernel.org, linux-alpha@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-trace-kernel@vger.kernel.org, linux-um@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, sparclinux@vger.kernel.org, x86@kernel.org References: <20240826065532.2618273-1-rppt@kernel.org> <20240826065532.2618273-8-rppt@kernel.org> Content-Language: fr-FR From: Christophe Leroy In-Reply-To: <20240826065532.2618273-8-rppt@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: n1prja7jexq16jmgjqx615edmbb1ds1z X-Rspamd-Queue-Id: 2C53B4001E X-Rspamd-Server: rspam11 X-HE-Tag: 1725615459-701911 X-HE-Meta: U2FsdGVkX19v6x8E1T13IOD3JHceYup+K73o28c0RnfZ2p/fxVc1HoOTfw2TWA/AUj2T8fMbgVUy33KeEMxstlb60MY2ZzI6Gr9A8MFTVGCdDyLyPd/Gt57+lZOlt1QzG/Csw+B8ASmZLGEEpd8HhSPguFd3WOIf4A7cmY04g0uvGn0ScSsgPGTi8Mm5udht7Jse5fLE88SZbDKVTVicPS7PSORxqgWw7ljy048EO/uWhjuc4llmPCLZ+R7E8xBvT9DhM5Kh2vrgzHC98Ea8U6ni7tG105g6gTkt9eJqmTtSaDVuZiEBLYeFxN62u5wyyavBUVSDHeEA5VYEWjhx0PdqJw4MVptRvag+McK3clMI4Pi2+8Bv5WxjMlNFGOc/Vb3GArYOk2qLTbgYQxoDms15QPb+r5Lsgp5sbG3OoXPqPou+1Sa5Elzw8JTmHcujKxO7QgxtHIyMzxk0RNsNzeqxrt2zjO5MLfo7Yx/IGcj98s91iyN+zdQL75vkb2dMKTBhok6WgKL5/EeIxzVLdOKytmcS1bciVTRP6GuPZ7nLSkpoOTOSpdeZBWfVHn1HTMx9b659qPamEWewIFleayKYRHEo+6HQf7OkF+Wr/vjgNUyg21eqZnWPmRzn6SMuxws5ukKA4zgArewngCBQHagUZpIcI/X+z1aRz/gJOmx94ZqEIMOUxzrYSQHEIP+nYnDjohCk7+Bl0cPx4fM1f4EbgLWCENjtixlCdUr3KT5tmCufMsYuM1OaDsxTNZzYXLkrqnK12ZBqJTo3qTs5QiHcpAQxNPJ7rQ3870ZRtsGOpjxIDHYdpziw1jCTf5h60JfuLVUZP6cSYM+e2Y3srGvBNwiN1KxKCkgJwA8cMgDg79MqN7OifgLwocAJzirrEOCWuxS5JuQ0kvXC+7QYECMyuEH/n5jZfO4hGotWKoitHCql8VtS/n24alvU+8Hew5J1NhC1sC9QzOH1L9O yR3X0fIw VQa3rEU8HVC/+wH/6D5H/+XiPLfVLMP9T1090Nt2CQefi99CaUSeUq61PejwmRE44jgPmCOUdEjb/HrH1j8SP57xdklCKT7UuPl7aO2jIYvUiZ3/xX7HViCqnHhej5fmHx8XmOeyUdvd+HQ3JX+ti2wd5tluyPA7qB29T 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: Le 26/08/2024 à 08:55, Mike Rapoport a écrit : > From: "Mike Rapoport (Microsoft)" > > Using large pages to map text areas reduces iTLB pressure and improves > performance. > > Extend execmem_alloc() with an ability to use PMD_SIZE'ed pages with ROX > permissions as a cache for smaller allocations. Why only PMD_SIZE ? On power 8xx, PMD_SIZE is 4M and the 8xx doesn't have such a page size. When you call vmalloc() with VM_ALLOW_HUGE_VMAP you get 16k pages or 512k pages depending on the size you ask for, see function arch_vmap_pte_supported_shift() > > To populate the cache, a writable large page is allocated from vmalloc with > VM_ALLOW_HUGE_VMAP, filled with invalid instructions and then remapped as > ROX. > > Portions of that large page are handed out to execmem_alloc() callers > without any changes to the permissions. > > When the memory is freed with execmem_free() it is invalidated again so > that it won't contain stale instructions. > > The cache is enabled when an architecture sets EXECMEM_ROX_CACHE flag in > definition of an execmem_range. > Christophe