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 184D1C4332F for ; Wed, 12 Oct 2022 19:03:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 967076B0071; Wed, 12 Oct 2022 15:03:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 914F6900002; Wed, 12 Oct 2022 15:03:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 740AF6B0074; Wed, 12 Oct 2022 15:03:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 636956B0071 for ; Wed, 12 Oct 2022 15:03:38 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 38674A060B for ; Wed, 12 Oct 2022 19:03:38 +0000 (UTC) X-FDA: 80013221316.27.8E4477E Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by imf19.hostedemail.com (Postfix) with ESMTP id B25921A0023 for ; Wed, 12 Oct 2022 19:03:37 +0000 (UTC) Received: from pps.filterd (m0044012.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29CG6osZ001164; Wed, 12 Oct 2022 12:03:32 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meta.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=s2048-2021-q4; bh=GNRb/5KuGzneHvR62pOG3ta2zJmiL5DkigqW3LdyeUU=; b=k9gFPcdmdvh36ABKP0y/69mBJr4fbDa5vSab7Idq2VpyU8dSzSn2RkzWAJk2fU4ujWMj t5gzUIijw0xxNtto6KLbrVZxVvtewRizNE9ZhkJPdyabAEd/7VKSr8VcYsSstv81xIft a+QStX7G1BZpY8MefDcMdmxAXquuRBMvOoHthSIRvFLWwAQwp14sCE7DW9gNv2r1HNNT IvtUGAWKEIIvk2BUIzZF9ki0Bf/J9FoffluCwL6UPEmkLmjME/1Oicc+tR+Q7Nitnm+q JE4YmI4N3UVgan/LQC1gHFLaXBxNlHIuQol4sB7xT4nkDzNyK0eOpdKRNThs5xmwbcsi gA== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3k5qdce02m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Oct 2022 12:03:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SMx3wTiUofz4raoyF1XrUPfJ88T4Ns/lt3q3Lnm7116zUqm4zRlR+om9YYnNCfnr+cZLn3W79n7HcZrl+IljqB887VgYTBy684+Qz8/dT0dww30HThvKqFIlwu0PDMP8UOFuNbbKKgfhvIQfDpNNSIIrqF9YmZHe/d1XN6cJIzKrXkfrykz92PWTwJCizsMzaamsny1KGeJHksiTjYDP4VmW9CONAIWKZJf3K/VIvg6PcGHBbK9ueiMmWCgd1dSyhVPFqfxUeFyFW/V/0Wp77UMjBFb6l09BQuOZJ5eEmNsOhBsimHAUQSCRUfYv7Z6FSkQIYVsUw5gG/6dERW4Dmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GNRb/5KuGzneHvR62pOG3ta2zJmiL5DkigqW3LdyeUU=; b=DGksQjy9HOJYpGV3HxblRoCtcPofXfyPnCQr00nbOubMZDMU4PxPPVodR7rpzJkriSyV0ssx6Ecj44qC2XRmnqRKBTTBu8MQWYt1oQiiOc4CtdffqDpcFTegyH6CfBFKvVxt7rkx1mObDKshG5XbtJKQ1nRG8CGTUxaiZNCXVgiwbhl6q7qIJTzSk40mnvg9et9HjnsElh5XKSDN9wdTmrn0rT8cdgOrOuhJv5P3FZe23du8cQFynm/+t6ZkTbJXFvhf5FeeWr0dYlFEMj6LXQRhI4XO7AAjv1qYpPBDp78/OrxpA/OoWjPCvLyCkZZhXFM/aLmZWFYcYiKQ8imCYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=meta.com; dmarc=pass action=none header.from=meta.com; dkim=pass header.d=meta.com; arc=none Received: from SA1PR15MB5109.namprd15.prod.outlook.com (2603:10b6:806:1dc::10) by BN8PR15MB3075.namprd15.prod.outlook.com (2603:10b6:408:89::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Wed, 12 Oct 2022 19:03:28 +0000 Received: from SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::d70d:8cce:bb1:e537]) by SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::d70d:8cce:bb1:e537%6]) with mapi id 15.20.5709.022; Wed, 12 Oct 2022 19:03:28 +0000 From: Song Liu To: Peter Zijlstra CC: Linux-MM , lkml , Andrew Morton , X86 ML , Christoph Hellwig , Kernel Team , "Edgecombe, Rick P" , "Hansen, Dave" , Uladzislau Rezki , Luis Chamberlain , Song Liu Subject: Re: [RFC v2 0/4] vmalloc_exec for modules and BPF programs Thread-Topic: [RFC v2 0/4] vmalloc_exec for modules and BPF programs Thread-Index: AQHY2qb9UHFHCXXpukKxiSq7OlxGX64LJVCA Date: Wed, 12 Oct 2022 19:03:28 +0000 Message-ID: References: <20221007234315.2877365-1-song@kernel.org> In-Reply-To: <20221007234315.2877365-1-song@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.1) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR15MB5109:EE_|BN8PR15MB3075:EE_ x-ms-office365-filtering-correlation-id: 19babc02-8f59-4bad-502d-08daac84725f x-fb-source: Internal x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: elaNoFZuztlgDtLi7m/7pckq9OSuqhJ/6FVsCgjB/Ma1o1D6qN4wygtJw+rJ1jrf8zmBLvZ4vAS7lcBDcSyV1hziGLgYvEwms89Snj/Y7FSRN0DHEqzwR/Dgzehugr1bluPJNDG8sFov0eQ/TDWl9kJtUxmD84wMLGyqjs9771CE3dA3kQQuaAStUjQs9bMLG6cSSruaLdp/jt4g6NDj0ScbqM1iCh8S5MlrJ+jxZLwYoHL18iKPUhg716WumMtAPU2mKXLj5uagoBOGM7m1yHlnAZyQSVToKH3c8OpYUB35/E+wFb3/2nJqfobzyL0xOo1BRm+HVmOBFStS8L1QakzBOA8K0nRJvvIkqcx1Pw7BaA4VtaHJED2V7rul3QeA8zkfRYUtRsuIWkdneb7PAEoWQ+rxkAH1BYmHXCAP1DnazZgCixvEOsoBh6BjNqDa5/098dxFOs8zS0gKsbybKBuM7txKaraVpgssc2iipgRRegbsnG+tSo5jdyNDNTO7HzLAOr5Zqpze7fLSm+dVsg+zJq1/Ub/YTaTthpH6o6tXTL9YGa18tYxUrQZ/ajK+huCxUUOQsQrUHT6mOYZryTe5oFe5f5Pra+8oplUJlIm55wgS1FFpHMJsW5wq7z+18FbOSoDHJ2fBLf6xWw5lIs4O189vbHTKiu4ZznH4PM/PHpMLjo4M9aBDp3KtxnWzEOPlerfnkRPQ1HJwmrpDu300nWnwn1KIa/AZOKRAVycGA9GdpFnkWmVeNNN4XNEFBKk7qOs+lpI1pimp7sjknTHWeCX3kR1cBu3/QdU/BKM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR15MB5109.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(376002)(366004)(136003)(346002)(451199015)(6512007)(53546011)(6506007)(6486002)(966005)(38100700002)(478600001)(38070700005)(83380400001)(71200400001)(36756003)(186003)(2906002)(41300700001)(4326008)(64756008)(54906003)(8676002)(9686003)(6916009)(76116006)(66946007)(5660300002)(91956017)(122000001)(66446008)(316002)(7416002)(66476007)(66556008)(8936002)(33656002)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?7glwAvk/7K+ECh5pKmZidQBwnbijIhfzxYI8cFyETMX6pSOvM5pHxOfugTzZ?= =?us-ascii?Q?PZWS8FxUGXQM+paGgCMrovCIIwAvtBFQk/B0EtQejhqfkUrtzFqHX65tLAqT?= =?us-ascii?Q?HBA/AaviIcHeAIUZgMaTmzlg3UKd5J4cyQpkx06F74EQHKQah7xgn8OPPmZ1?= =?us-ascii?Q?4eCw2Ndlm/hddyTpLrALnEQOqHSg8ZLBf6ald+a1bmy+J0V3TNKHqqIURFtK?= =?us-ascii?Q?DHVtUNsuEPo3QPoudtnqkr8S1/5YVEoSeRiGI3rFZatZDBVe51oWxY4V7Gi4?= =?us-ascii?Q?T2ZP5/OcwNoyfsW25s839FwonGsTq3khsfagGwpOrSkdOx8l2FMDzpmYT/TX?= =?us-ascii?Q?ixdTEHE+y5VEtsgqbfzfNBopwAYH1z2B5w4l6OR1m3P0FO35F/EhN/lxwcLu?= =?us-ascii?Q?JJQbSP+oFEKUEqHTt2mhoQY2ZJlXE2UJJDN2lRTYq+CYEwAU+RLRA+o/LrHZ?= =?us-ascii?Q?lqbN+npnfzi9etyUJM6YWzspeXGbvoyzUlIAlEES4IKGeEojLV2H9n2UcfJu?= =?us-ascii?Q?sDEBtttBV+uuaQ3HF64RPylRKYX8hkwcfMioVTttvsIo1ZQfgxMiPIG7Z9cS?= =?us-ascii?Q?RRYV7RWgQ0/Qrblmk+av9HCs4G3qYjMB4NRc/G1FKyftAoqOwzofogsiMzIz?= =?us-ascii?Q?MdRDVbKn2S4J6sZ3ryQ8tRTBz8t5kst4s8BJi2vagyrcLN2xaCZHo/+ngwX2?= =?us-ascii?Q?w75qkdbk7dPDYUG5FwrGvHP9JQKgZZyW/goYOerLyaz4AxI7yMSRn0lVsL9u?= =?us-ascii?Q?7NvjhJIJj5P0CwWo43ux7791KWIAo/Eod7k+4/urIjdI4kgfIf++/11UWXhv?= =?us-ascii?Q?VJcepGSh8sw/cU5LqW4NwZ/EeEIMlnjFHlDmg31N+ZVyn02Tv7cmeuwQyg9c?= =?us-ascii?Q?ybGsc2Y6lPdkAnxOZp3gSvtmQ+5F/5ZWSndJ5EAwXJhT9IACXCz6ObqfTuh7?= =?us-ascii?Q?0/pKk7iTcbJAQwSbuh4ZoyRp0zw70zcW2JVRZpTVfsfkOX7vZN0B1zGdZgbY?= =?us-ascii?Q?WRDXbAVxiqmRz/olcM63oc+erESISkqM+JWC2WO9iBtfK/T/yVKKfuv8WVqm?= =?us-ascii?Q?gin9h5OR9CVso7U0HDawnrfG0uBnnKddpAUFcl8f8CTV3/Igep1jriCUSeGs?= =?us-ascii?Q?vFntbq6TYkbR+gU/2+wOi0LGQQKeNCX12DggYvczE2vYD5mLYifpt/kXPonu?= =?us-ascii?Q?GLGu+JssdDWLdbTGdI3LwALFNG0Uk7lgmBGQJvsaC44CY8qhlGs9gsScsRlL?= =?us-ascii?Q?RnvrMKu2ymSXDpA9A+I5Tn1XHktU05nLlrCI1Ah0/cwmFjV7Bsc0DwY1Yxkm?= =?us-ascii?Q?weFqA8pbuzaZCnFnXoAv+h6BNU2VrPlk4DoAiz5CKol2M/4NSBVFdZpBFA59?= =?us-ascii?Q?YBwsU2IFzOA8zlnV/t2LtBDp8zFmO1HJhIw94ZRDyZlNBdkRsvalS4QqBekf?= =?us-ascii?Q?mAEtZSkHJHmDF86htuyWgQpMuPcu6HCJsMSyCFyxzbKGvkjossiwPj+RWmgk?= =?us-ascii?Q?kSJvnB57oikPvg5aN2KULEZ+r+iD3AnMcQj7Xki+BmhwBQ71bQxn0CODc9Y9?= =?us-ascii?Q?zRtj1m6d5HmZkTrvcWJpc3bg+typOed8BD+/VO6J/5siU3hgwW4XLYNwb+NX?= =?us-ascii?Q?ROpxezkAf6PC4iu9rajiQslisudYM5i8sA5Q6tcNbKDa?= Content-Type: text/plain; charset="us-ascii" Content-ID: <9C488785E488684480CEC36D3531335D@namprd15.prod.outlook.com> X-OriginatorOrg: meta.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR15MB5109.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19babc02-8f59-4bad-502d-08daac84725f X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 19:03:28.0543 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: M9ODRE408C9gTmi92D9/cfvOmEYfuXBlrAF4/Shuz25NbuPdWbcpASDJA0xLUxpqr+KJwxhe/MhKTt4lI+aFaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR15MB3075 X-Proofpoint-GUID: XRXqiy7u7AWkezDLyP8DvcT5q7QA-0S9 X-Proofpoint-ORIG-GUID: XRXqiy7u7AWkezDLyP8DvcT5q7QA-0S9 Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-12_09,2022-10-12_01,2022-06-22_01 ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=meta.com header.s=s2048-2021-q4 header.b=k9gFPcdm; spf=pass (imf19.hostedemail.com: domain of "prvs=1284ab4e42=songliubraving@meta.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=1284ab4e42=songliubraving@meta.com"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=meta.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1665601417; a=rsa-sha256; cv=pass; b=h5WK48WWtWJAbnfVi5iLctgbbIWt9b5QTvW2vl4ZJi+yL0ubRA8Q9opE7yg6nRjcnrIz6E tBEh4vnbYAVNTHjg+zBJOZB5JpJxGzM6QCwGs+D3CbRYsILrrUZBmFnqPzZ5znSP2NKuQn tDDgYL1xosc2O8QZDOq3n7UUwNA4r0Q= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1665601417; 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:dkim-signature; bh=GNRb/5KuGzneHvR62pOG3ta2zJmiL5DkigqW3LdyeUU=; b=QF4uvhn1vYiQZllDlbcJs557cXva5t+bQKVedc161s5MEwouN7KQCsDL0i7480sAasjcJf tKHYbtVwbuwCsw4rGb7H1JWw4nfCO81RnIeUhpjqSXznpOlgJQIM37+TOSLT5HS8WdcLK8 BBJ/sDxrB4gu8saA9WuLL3Hx3CIOcoo= X-Rspamd-Server: rspam05 X-Rspam-User: Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=meta.com header.s=s2048-2021-q4 header.b=k9gFPcdm; spf=pass (imf19.hostedemail.com: domain of "prvs=1284ab4e42=songliubraving@meta.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=1284ab4e42=songliubraving@meta.com"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=meta.com X-Stat-Signature: o3w1r9mnufz3kro7zh79m14pnqgomhpa X-Rspamd-Queue-Id: B25921A0023 X-HE-Tag: 1665601417-385957 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: Hi Peter, > On Oct 7, 2022, at 4:43 PM, Song Liu wrote: >=20 > Changes RFC v1 =3D> RFC v2: > 1. Major rewrite of the logic of vmalloc_exec and vfree_exec. They now > work fine with BPF programs (patch 1, 2, 4). But module side (patch 3) > still need some work. >=20 > This set is a prototype that allows dynamic kernel text (modules, bpf > programs, various trampolines, etc.) to share huge pages. The idea is > similar to Peter's suggestion in [1]. Please refer to each patch for > more detais. >=20 > The ultimate goal is to only host kernel text in 2MB pages (for x86_64). >=20 > Please share your comments on this. >=20 > Thanks! >=20 > [1] https://lore.kernel.org/bpf/Ys6cWUMHO8XwyYgr@hirez.programming.kicks-= ass.net/ > [2] RFC v1: https://lore.kernel.org/linux-mm/20220818224218.2399791-3-son= g@kernel.org/T/ Could you please share your comments on this version? Is this the=20 right direction to move this work? Thanks, Song >=20 > Song Liu (4): > vmalloc: introduce vmalloc_exec and vfree_exec > bpf: use vmalloc_exec > modules, x86: use vmalloc_exec for module core > vmalloc_exec: share a huge page with kernel text >=20 > arch/x86/Kconfig | 1 + > arch/x86/kernel/alternative.c | 30 +++- > arch/x86/kernel/module.c | 1 + > arch/x86/mm/init_64.c | 3 +- > include/linux/vmalloc.h | 2 + > kernel/bpf/core.c | 155 ++---------------- > kernel/module/main.c | 23 +-- > kernel/module/strict_rwx.c | 3 - > kernel/trace/ftrace.c | 3 +- > mm/nommu.c | 7 + > mm/vmalloc.c | 296 ++++++++++++++++++++++++++++++++++ > 11 files changed, 358 insertions(+), 166 deletions(-) >=20 > -- > 2.30.2