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 20056C7EE24 for ; Wed, 10 May 2023 06:48:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 69E886B0071; Wed, 10 May 2023 02:48:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 627496B0072; Wed, 10 May 2023 02:48:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4EF626B0074; Wed, 10 May 2023 02:48:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3F39F6B0071 for ; Wed, 10 May 2023 02:48:55 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 181191A05B5 for ; Wed, 10 May 2023 06:48:55 +0000 (UTC) X-FDA: 80773417830.22.6839D0F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf25.hostedemail.com (Postfix) with ESMTP id 72516A000B for ; Wed, 10 May 2023 06:48:53 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lk0Vpdvs; spf=pass (imf25.hostedemail.com: domain of ebiggers@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=ebiggers@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683701333; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5EB3H26177kp/TlxxPXNY1ikt5OyzffGmKJRfLlnjfM=; b=vps+zzXfCcC+kC9oXddt1UEy8c8CjkcpILKaS80U1BaRdBORBrigPFidz9hpFLxgAjXJDR 3eZM8Luu1emrkgNCtIf5as1m3ANZQAdioCKCMR5FdICIp43SmRbqssH3oaWFhxA9a7foJZ Fagu0VFieIFhE9Ls8ES5KUEc0zYoHGE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1683701333; a=rsa-sha256; cv=none; b=eNNHZI248Afxd3yRJCVcctRnylpmK49MXSSj9XXPO6QW+V4xs50Kcx4wH3vMPHyXCRLb5w pAdUl/XF0OaJflG+weeCje7WL8B0GESnHRvk9+XV/Smj/3XDAuw4Hm5NU9wVPccEc6qCxw 0c/kfsgFdifqOjqbef7ZsczC4v/Wybs= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lk0Vpdvs; spf=pass (imf25.hostedemail.com: domain of ebiggers@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=ebiggers@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4EBF762F4B; Wed, 10 May 2023 06:48:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7ABB8C4339B; Wed, 10 May 2023 06:48:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1683701331; bh=QKjgd6OZtwhEvhLfeWWvvsdF4yk6O8j8A4mBRN11HD0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=lk0VpdvsyWLksbyhs4Z1NrZD4LJ5QdonevQNcOvcM08T8L86PE+W/YSP3gsHMx3Ld w1J7Nd3oXb/24AuzE7CSRHMqV4Vp/rvChYoxweyGfvz3C28Fj0bBOGnYnwPOjobo1u sbpuRlRS/vjD/hdOuVmEHDBuVBJZoEOuucgK9evjOGWdNyu3JfpEGgoSXQe+LgUU2O LRrLbSjXFK+KUi6ayXDB2eE8cfZnJPh6h6Id2KALDryzK6frofDa/Wkm1C6elVCaxi 5YMu3r6iAplHyprHXOpc1ZQQe081HNKMLHEZ9m0NVIfwlvAx9aYQCpfu048N+hbljJ LU6+Nyr8QwVeg== Date: Tue, 9 May 2023 23:48:49 -0700 From: Eric Biggers To: Kent Overstreet Cc: Lorenzo Stoakes , Christoph Hellwig , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-bcachefs@vger.kernel.org, Kent Overstreet , Andrew Morton , Uladzislau Rezki , linux-mm@kvack.org Subject: Re: [PATCH 07/32] mm: Bring back vmalloc_exec Message-ID: <20230510064849.GC1851@quark.localdomain> References: <20230509165657.1735798-1-kent.overstreet@linux.dev> <20230509165657.1735798-8-kent.overstreet@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 72516A000B X-Stat-Signature: grb7empuq8wjtzgrj161mxzmt45zgjyp X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1683701333-15278 X-HE-Meta: U2FsdGVkX1+6Q//+UC2nkXXcsQqwlkfwgediChcU9Gf0WpNbhSA2TB80O9x8d1YW1u28x29sumTSuRm0bmCcpJd2FsiV9n4lV8YWTwpN2F5oZPbXKRsFytysO9AkTvTaSXeR5bxn7NjMn4OCgPAdvVQ4ui+T4iLywZrjedP40Y0RMKny6X9dxmgPZekX1HzAf6nDNeRalNRRw3nohtszgzJLbtdbwa/FimPm8ds1oaCrdO4nfRcowrSpPuhZ65nTZvKxhzUYY0D7KccUgcB84Olnn3QARLYo2/2y6BQGWrh6IO6olUWf7ZwLuEsOyq0h2z0RmMFOCa0Vuu0WvQeuxBjQLck+JPMN5Z4QdTSIKh2+gEqZ+Oizr+KKS1DgrF1HSJ69aLyMQ4Dd8sNDbJ+ARWmXiqjSob25rLDbge+/ZUxqcqirJMJLjjbFBcKRoHZH1yISmT9iGtbPiysl6IHH2KLWKqXpWNGJotvkbQvsbCXlEeIhXwmae4HYFLF3MBt4YIuxp/d6iuH+S3o+e54Bx2TKD9UIOBDID0C7vE/MNZq+K53paLnKFhEiDTz785ZIUu/sHMdxM4p+FRxpRCprfFFIsdN7B+/ustah7Nbu+zL//mKAzc/mtpIP9i+17dxjo3WcenXsVg0NoO3kXGbqC+AZ616N7v6iWhGjH3kWf6GUUGpmdZrcQfEfhspDEHv9eFLhyIXLIFvrauFhzLwYr1r27kSiZPPtxfFpuxgn9soC7i5MvLzaAo2QmyZjAGG3wu6HJdVEnNQjSv+PdTYMYluhOK1ANtLIv1kIP4SZ/SAVMuuUXKDyjL5Zp/Z+NUczjMTLrCc8hD7xcJ/h9SRJEyIcjfNPnaL24Y4NSFIeHc8u/vvaenBgxAYRF6vFFdkzrQifiK2sK2yE4Ytivj+7yfL8eViZwHRx+rN3eMlLoUWXI06S9RWp+qBxAIiwUsPOBSBmi1FJUu9438DRs3m JlV+HKZ6 RR53vKZJLYn1DifvyqpITERfXagTUdyTlOEDHBC5WsU+JbqZeQggDQTn0fge9car31aR3bqS9MTKCO2IJ0mpaG1BQKqDmEW6+LGpUm5NNlGug8USOVJOMQQfjW1acvQO+TAdi3N7sbatd5QEMVWRhSDyukV1Gkq14rnDE9wE6I3CToRRxwEe6GoKcZLJ0DAHxmmkUc72Weuq0M5i/cUQgGDyUDTUS43b/twSB4bkNR3vHs/qhe8sQBcBLZpI/6ukpDzc932JNqExa+ZFFl1VQ8TxwEnNpvZMFjLXgaGz9i/IjKFz7dY8CnUloLDqscL0vbcAC2FapIFDYc4k1N6WqG2sJ1+haHzF/cOKUKccXcXxXqpNF/0syky0q4obDgSinhHxJw5a2aEcBoUoy2ELntiVQEHBL0vUF0tGqyhKNjAW7rIFGG6+AetS7qt3bT5isptcF X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, May 09, 2023 at 05:29:10PM -0400, Kent Overstreet wrote: > On Tue, May 09, 2023 at 02:12:41PM -0700, Lorenzo Stoakes wrote: > > On Tue, May 09, 2023 at 01:46:09PM -0700, Christoph Hellwig wrote: > > > On Tue, May 09, 2023 at 12:56:32PM -0400, Kent Overstreet wrote: > > > > From: Kent Overstreet > > > > > > > > This is needed for bcachefs, which dynamically generates per-btree node > > > > unpack functions. > > > > > > No, we will never add back a way for random code allocating executable > > > memory in kernel space. > > > > Yeah I think I glossed over this aspect a bit as it looks ostensibly like simply > > reinstating a helper function because the code is now used in more than one > > place (at lsf/mm so a little distracted :) > > > > But it being exported is a problem. Perhaps there's another way of acheving the > > same aim without having to do so? > > None that I see. > > The background is that bcachefs generates a per btree node unpack > function, based on the packed format for that btree node, for unpacking > keys within that node. The unpack function is only ~50 bytes, and for > locality we want it to be located with the btree node's other in-memory > lookup tables so they can be prefetched all at once. > > Here's the codegen: > > https://evilpiepirate.org/git/bcachefs.git/tree/fs/bcachefs/bkey.c#n727 Well, it's a cool trick, but it's not clear that it actually belongs in production kernel code. What else in the kernel actually does dynamic codegen? Just BPF, I think? Among other issues, this is entirely architecture-specific, and it may cause interoperability issues with various other features, including security features. Is it really safe to leave a W&X page around, for example? What seems to be missing is any explanation for what we're actually getting from this extremely unusual solution that cannot be gained any other way. What is unique about bcachefs that it really needs something like this? - Eric