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 B1BAAC32774 for ; Tue, 23 Aug 2022 06:56:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D9BB6B0073; Tue, 23 Aug 2022 02:56:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 261CB6B0074; Tue, 23 Aug 2022 02:56:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08D6A8D0001; Tue, 23 Aug 2022 02:56:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E81856B0073 for ; Tue, 23 Aug 2022 02:56:32 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id AD227121493 for ; Tue, 23 Aug 2022 06:56:32 +0000 (UTC) X-FDA: 79829949024.18.CBA798D Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by imf08.hostedemail.com (Postfix) with ESMTP id 1578D160029 for ; Tue, 23 Aug 2022 06:56:31 +0000 (UTC) Received: from pps.filterd (m0148461.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27N6EqVd029658; Mon, 22 Aug 2022 23:56:00 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=bFaibUEe6a6pB6HLUg2wRIgF5JU9u400HY5SsTAP/bg=; b=amG54E7BHojRSIwcJDEafdAgnqG8mVLaIIYwZ6h1Fr69MyPc1PRFpiaD3RJMnfKx+6Jo 2fol+tRbZOUVGohNMjbGmpsRq8VF2xfhQm5tYRzoraQz0mHUKBrpgrcV+40cUeac1kHX YSw6WPJs7xnx64e6vbpC1fRiDVmkn2cXqQs= Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3j43hpn3f7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Aug 2022 23:56:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mHvk0JKdW1AwRWPEJyT58ESpU4aag9sdsvhrlceW/Gvf8RlTq2ulNl8riGsgrzOAnenQeFHj16IJ1xCTiF4qexXb8ozyuLMue0x2RuVHIuHUCGr+64ShjlNIzKBvBTm5AejPHWooeYQafkNUJpQpuiYUwG7J40kLGJ3Ytc9l6shSlyD72ExeL+eit4YEUYvVJpOGJlGEaE+WqGROcngiNyKZIxqKiC7QIfAQG1N27h9sUJRQkOH4djtGmhcvEoNx1PFLo3mfKCqL9JpTgbFAtszvCPhfdIBKmRCK9pz0KXboqTrdZHGVgK7HDKUTVAABOgwQvo6RHKOupigeQYXEmw== 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=bFaibUEe6a6pB6HLUg2wRIgF5JU9u400HY5SsTAP/bg=; b=aS+0P+N7I14qIPlen7cfnsPzQA1Gc5IUQ2UtERxoy5ETBv1u9Er+1fLAJcUOe/gkv9GZLAg9wGLUdu1gjxhFj5YAg87QLQA9k3QxMrf+It3SA0vbowddMQImcEZEd/XxKe/yb2e7XAiQd7M9AqBggXj7Oo4AdgSyFCb2AC8qjNkBO8RqC24w9Nw/wYhyl9VvHIGYcaN+hnBJ+hpQ/InvmZgo3Pvpcuc6Y/hCOrlV7jumEklZZBiD6Cu9PpyBQyU11RKfo5HeGIfNzHl+4RmJ8qinC1PJhe0hstdn/rkmb8xIIU6s75uX9IBv37FdZBufCQj7lOQTjmdnG1We6jktIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from SA1PR15MB5109.namprd15.prod.outlook.com (2603:10b6:806:1dc::10) by CH2PR15MB3573.namprd15.prod.outlook.com (2603:10b6:610:e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.23; Tue, 23 Aug 2022 06:55:57 +0000 Received: from SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::c488:891f:57b:d5da]) by SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::c488:891f:57b:d5da%8]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022 06:55:57 +0000 From: Song Liu To: Peter Zijlstra CC: Linux-MM , lkml , Andrew Morton , X86 ML , Christoph Hellwig , Kernel Team , "Edgecombe, Rick P" , Luis Chamberlain , Dave Hansen , Song Liu Subject: Re: [RFC 0/5] vmalloc_exec for modules and BPF programs Thread-Topic: [RFC 0/5] vmalloc_exec for modules and BPF programs Thread-Index: AQHYs1RC3fzFDgbD7kKge/abI0eC0q27FhIAgAANe4CAAAYdAIAA1hSAgAAUYgA= Date: Tue, 23 Aug 2022 06:55:57 +0000 Message-ID: <0F9AE244-8747-4533-8AFD-6E1810225CD2@fb.com> References: <20220818224218.2399791-1-song@kernel.org> <4D089469-B32B-4347-A811-B1E5EE011307@fb.com> <7621DE6E-D71D-45D1-BAFA-46E882451DD9@fb.com> In-Reply-To: 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-office365-filtering-correlation-id: 191e8857-eac3-4b16-504a-08da84d487fd x-ms-traffictypediagnostic: CH2PR15MB3573:EE_ 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: FRzZQuTQ+UxcHyGXw7pVbtkvreRPDdq7kFtHzEVRsaIqiW8WOCGxY/yzg1SVDmAMziyNNw5qEULkLqyIzfonOQDa3U7JfBbHYrucmTrsZhhDXM3tuVx5E6FfzKcW/fCaJIO8WZ3jdeMtkX3f7zJK7cZNUzHvrLaby+qWQiVTMApQ4ZoUkmZLGkIkBdUBhBJe5IK++fhDAgtcd+nV7l40ZrToVzPo4fYJwsgb39TrAeCM+7nwkS0199Ox605gx4GzuKuqjNcHb698sU3qXeZW5kKZikf2THGzkzMz+YxFWO+noXF3A/pj7saLpRPCAR0s94euCvJe7kRqy64Zc7kmNd3almqDrGaICjaP1ueYf8CN0+ZoIilofF+oLFiHpr+Ih2U4fgjNMRBGUdhhAFTPHaAxA1qtFe9BGw9kUVVz/PkhQF//xTioOGeP5bgi4EtHiwT8IrilBlMW200+HQaDxXOifIdtns+oMEyvdKgOomDae3m9iQaT5/a03WCBM12/MaodsY4ZCTOmvfUUak/syHcMbYSqti2i5YbpHRco9Ur9HovwPD75lNBjbV8rceElLsaGF5a9PcvpVPl/9ieAvs5vLiL+BAcIQGe1fkTw0aH+bW46C3iHJjqGeAOWQ/i+sJA0EGIBZ9TPzBHR/oHnTqVQfov00kcscI568S0V1ctd8LFquCMv8v4Ah4JiGHH16i0KhcOBe8Dn+SAuJ9tbc5J3a4e2barb3jFf7ztzC6XitJRkWAvscOTw55Etv6/SCIfi08VWAUvhnWkgMWpDEbZuoQl5wlAet7+CFK/o7/E= 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:(13230016)(4636009)(376002)(396003)(346002)(136003)(39860400002)(366004)(2616005)(5660300002)(64756008)(6486002)(4326008)(7416002)(66476007)(91956017)(8936002)(66556008)(76116006)(66446008)(66946007)(478600001)(83380400001)(33656002)(36756003)(53546011)(6506007)(6512007)(186003)(71200400001)(41300700001)(8676002)(122000001)(38070700005)(86362001)(54906003)(316002)(6916009)(2906002)(38100700002)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?v/uX2QKHUIB5+Y1s1auS9EQdehZSgUNJaDG4PNJyW0M4dWXJVBpVefJVec8I?= =?us-ascii?Q?eVF+kyPlITwU3lSmYgaqUjH98hSNJbJYYKTuhKgf35DXLKfemt1BuotCXzuc?= =?us-ascii?Q?bjWrYGgaM9f3HL7XjgCljJwzKBOyrYE9YBh42CToA8bEG3AdgOkcLhB1U4Vq?= =?us-ascii?Q?zSPWfj/m5oLL2nhyTIDpxCiGWyD5KD43cN3lgwSZBbc/jdAg3rjlg4+mCaOp?= =?us-ascii?Q?ZVLVVACFGslrhLgGMnpUttNuP2hHlGjLdvgmhpf82jm1ggDP/2MRKis7KRW4?= =?us-ascii?Q?FMi4YZX+/kljTVdDWn4pG8Ea1DbIgbMBANFi63/q2oKhW0TeSlr7DHnbfkCO?= =?us-ascii?Q?aRtJPJqJem4IL2Gs/U8CuGOW+cEW5F8wVw+CRxNKFZXf5g/hv4IMcDLEgdin?= =?us-ascii?Q?mm0XOvfESGmIqp/5myKUoLyAxFcg9Ja0jzqBcu270X2SQGKHqxfzvBeNTpaI?= =?us-ascii?Q?iBxChJVYTcfqW7jC8QsVCwGmBAOdpfHA/tudQ54m76+GyNsTzfp1xSrdAhj7?= =?us-ascii?Q?FMtqSykMnVl6SOOmxKxGf2he6ZJNjiRQd6XFmQVqZh4IkyGCYLK/B5sJ0FAz?= =?us-ascii?Q?i1Ykl3X+IGCvWFAguPZh3bXJt8kLpD7tBII+prBbEh9CbuaWPo1hnbeD8ka2?= =?us-ascii?Q?no6wLdL4WEBYcscTfqy2yjga1Z1rqr5cbjJrNjOz1EKNSZdlTPCpPxrB43cd?= =?us-ascii?Q?XbyLYnST2fvNj4x3YpUh5G3K2FjRkdWU/DO7OhNg6vOyb7bQ+yPY3I9I4dF7?= =?us-ascii?Q?3vEon/JAOO6F2KCZROukYyxNJakDUmhTPHT9vHC9n16wL1Ohv0CEqieotr9f?= =?us-ascii?Q?5yk5LOmH6MOowbwHZEZXtgmxSZaBgEJ8p0kKcpe/gCTbfCBsXHdQSXbSHYd+?= =?us-ascii?Q?h/7rVuG/7k4DTwdLvT1kywdSI6mokdVIZksTQzRr6goVYs8hDqu57W0PtWkR?= =?us-ascii?Q?RVx+NLX91AdXKt04j6qBmJFwMPw2U+4gLIkpyJf8DWRkxFH+NRGdX56bMAIy?= =?us-ascii?Q?qHWXZBHsResArS5i27IeRRFXRN3EApqDWiSNftTPueh3mc1dXk/0YV1IGzXY?= =?us-ascii?Q?4/j/qPWY3xiSJHUNIQYDoKYsw5EmG3wet4sGj5riESjbkDUPDKkJphcwsn7m?= =?us-ascii?Q?BvLIPIC1H6DcUpOfiYccJtx619CUwWMBAPQk/Le9XyyomL8u/FYpZXJjhRT8?= =?us-ascii?Q?lQmaFqczOlbcQ4JB6Cj0UrwAI7FZUJ5y5sD3tKiosGkLZqbSob5A7Cz2P71p?= =?us-ascii?Q?MVVWQ/kFgBf/yxZ5B0OKZw2yGxOimjHC4oD2XujULU6OvJ0mxAMvbkbdxi7l?= =?us-ascii?Q?pQ/QOM+4S4Rj2+nx2f4xx4MF4NzgDNTrY7/bNKFnzr9VgAr85VSOp9NFXAsP?= =?us-ascii?Q?QupDCWAvWA/ln3yCC4XdoxV7YbhvknKBEz/bjfqq3iRGeXXwFLpOKb7IVVAq?= =?us-ascii?Q?iUOp5Bl6MTbOZKxC4jGmFLhSTPNdjdXjLXKgFqKWihXIGsOq1/lDh0rR1MTE?= =?us-ascii?Q?b/Qi5liW0DwQaUHwm7DdNmNc/H0JQ3AlqLZwXV58Y/c/ev4sx4fV8TB+ZjBe?= =?us-ascii?Q?CosVbEcKjTTyW6F7oMSEgO/g0awpnRzoATd8Ezd1lGbDR8FBWUj4bSEh8gtT?= =?us-ascii?Q?i3KNvHz3p0VbEgVS7M+tD8g=3D?= Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: fb.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR15MB5109.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 191e8857-eac3-4b16-504a-08da84d487fd X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 06:55:57.5492 (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: Ok9Jv5uIpF5GYY263Tf65Gbj71vxxS15do2B9dU6zBuwSwP4v1hL96jwOFnpc42sGEv+IUObsd+lnwtI60clyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR15MB3573 X-Proofpoint-ORIG-GUID: pq97YcLN7aFShLnugrUwe7mYTfdXfgd1 X-Proofpoint-GUID: pq97YcLN7aFShLnugrUwe7mYTfdXfgd1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-23_02,2022-08-22_02,2022-06-22_01 ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661237792; 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=bFaibUEe6a6pB6HLUg2wRIgF5JU9u400HY5SsTAP/bg=; b=kBT0OxGGoIME3fX01JcyPrTjC7/Ulj2p/UW4R1o9vbgiGcQsFFOqH1AmeXJLuoraVxKhe4 PIfJaLWT7stHD63DMRd5qVCxn29aUoXe4jtdMdYh2xXzAV9e3acFBkW8sOq2vONPFqFzvL uJfWCU5IGlNYk8yeTfWc/+PapVn6++s= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=amG54E7B; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of "prvs=92343d59bf=songliubraving@fb.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=92343d59bf=songliubraving@fb.com" ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1661237792; a=rsa-sha256; cv=pass; b=JWcJbPWlOT1fsVWlzJGg6P3Wt1Xc5xM4zaVrmVzNhNT7rG/4I+0oeJK0W7m4G3V9yCF9GB RWYgOmI6JUsrltu+fNA24Ab8X1pJln8NDDTOxnyI9rwmWiHlysU+EaArHTldrD+gsSnJnZ 4DEk1nro6zXcGKuylCki3U28lTBdVrQ= X-Rspamd-Queue-Id: 1578D160029 X-Rspam-User: Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=amG54E7B; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of "prvs=92343d59bf=songliubraving@fb.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=92343d59bf=songliubraving@fb.com" X-Rspamd-Server: rspam03 X-Stat-Signature: u8kzqpwx4frcwxmqg7mit8noa9zn9yjx X-HE-Tag: 1661237791-521184 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: > On Aug 22, 2022, at 10:42 PM, Peter Zijlstra wrote= : >=20 > On Mon, Aug 22, 2022 at 04:56:47PM +0000, Song Liu wrote: >>=20 >>=20 >>> On Aug 22, 2022, at 9:34 AM, Peter Zijlstra wrot= e: >>>=20 >>> On Mon, Aug 22, 2022 at 03:46:38PM +0000, Song Liu wrote: >>>> Could you please share your feedback on this?=20 >>>=20 >>> I've looked at it all of 5 minutes, so perhaps I've missed something. >>>=20 >>> However, I'm a little surprised you went with a second tree instead of >>> doing the top-down thing for data. The way you did it makes it hard to >>> have guard pages between text and data. >>=20 >> I didn't realize the importance of the guard pages. But it is not too >=20 > I'm not sure how important it is, just seems like a good idea to trap > anybody trying to cross that divide. Also, to me it seems like a good > idea to have a single large contiguous text region instead of splintered > 2M pages. A single large contiguous text region is great. However, it is not easy to keep it contiguous. For example, when we load a big module, and then unload it. It is not easy to recycle the space. Say we load module-x-v1, which is= =20 4MB, and uses 2 huge pages. Then we load a small BPF program after it. The= =20 address space looks like: MODULE_VADDR to MODULE_VADDR + 4MB: module-x-v1 MODULE_VADDR + 4MB to MODULE_VADDR + 4MB + 4kB: bpf_prog_xxxx When we unload module-x-v1, there will be 4MB hole in the address space.=20 If we then load module-x-v2, which is 4.1MB in size, we cannot reuse that hole, because the module is a little too big for the hole.=20 AFAICT, to use the space efficiently, we will have to deal with splintered 2MB pages.=20 Does this make sense? Thanks, Song >=20 >> hard to do it with this approach. For each 2MB text page, we can reserve >> 4kB on the beginning and end of it. Would this work? >=20 > Typically a guard page has different protections (as in none what so > ever) so that every access goes *splat*.