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 70BA3C28D13 for ; Mon, 22 Aug 2022 17:03:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC5C88D0002; Mon, 22 Aug 2022 13:03:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A76108D0001; Mon, 22 Aug 2022 13:03:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8EFFF8D0002; Mon, 22 Aug 2022 13:03:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7F9B98D0001 for ; Mon, 22 Aug 2022 13:03:39 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 531A2121325 for ; Mon, 22 Aug 2022 17:03:39 +0000 (UTC) X-FDA: 79827850158.18.0F3D2F5 Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by imf11.hostedemail.com (Postfix) with ESMTP id 87F6640243 for ; Mon, 22 Aug 2022 16:56:59 +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 27MF8luE024136; Mon, 22 Aug 2022 09:56:51 -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=TBPthcE5MsNDzWwgN5mtI/ps9KtF5Hd/JJVKmRDqcn8=; b=UJBmu/jgCH1WUf7MoKT1ssXtMGkyod1Tcf+LfJ8h2xc49IBD0yCgkv41h+v4BCfJdgel CLiHbJGRMdxPFb9oDbQAGGLl7TyDQ+Y1VCS5wLXq/AqxqjZlHFfyRgH08FfVomVHvn0t 26lku1NAEl9tr/79wkWY3C96rP+RQifpKQ4= Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2047.outbound.protection.outlook.com [104.47.74.47]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3j43hpby1t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Aug 2022 09:56:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HY9aCb/wgG/jTRLpkT9l+22u+H2vAJxJGo858kCw4ezbTUf5dU4q/uauu3WqJmnNK1a8he/DbF8WKZB2t9wSMITc8MVelIBRkIoWZlZ3GKOWgxvXyAfskFVT48tmzD/fWi9KbH2WuUZsnXeOo8zt59ibem5zQe4JLH7PTU50vzoqbK44OZVzZmOqMxY+wjzBo3spZMj2ZqwzuTB0b7vu0xduYzA+AV8quE1jnRC5ndAYIU/frO4jkdr7KC8OTAaJRrAxzQOcowMJMdruSNlXnTjjx6MXfmeFouOHbkQ6bC6YyRAF6Tj5jHU4R43OL42FfLimHcMQiyjJBZiv5mgc7w== 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=TBPthcE5MsNDzWwgN5mtI/ps9KtF5Hd/JJVKmRDqcn8=; b=Cpx27vjJlesMZPLf6l0jApbBWbq6jV180urb4+9I+BqUIXGKUIBkpUHO6POsjClCBj4E3np30e1/3NeUaNGgZ/ccz32LqhITujt/eOTrjpV8d5BmZeL0PM6hZu5vHi3UN7q0b2tgrPnrqLwzH4tJZZkjz6SX19caBc3Z9JnM1PxtvgI5bfypEG1WVDj3p+/ZnUIeHI/Eaa+VySPH7H6LHxe6gl29uN7AnbcaykLw2CSj2OxeNm5oxVLdApxu9yktzsUyhXRLqwMk23T78voOu4sbbuEsp9J3Nw+keXt8dC+U0O0zGePx1q3FUWs0EvBYPT5736lq2/xb29S99Zp5TA== 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 MW4PR15MB4425.namprd15.prod.outlook.com (2603:10b6:303:102::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.23; Mon, 22 Aug 2022 16:56:47 +0000 Received: from SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::c488:891f:57b:d5da]) by SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::c488:891f:57b:d5da%7]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022 16:56:47 +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/abI0eC0q27FhIAgAANe4CAAAYdAA== Date: Mon, 22 Aug 2022 16:56:47 +0000 Message-ID: <7621DE6E-D71D-45D1-BAFA-46E882451DD9@fb.com> References: <20220818224218.2399791-1-song@kernel.org> <4D089469-B32B-4347-A811-B1E5EE011307@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: 2f34e7c0-7006-4ae2-5308-08da845f4d24 x-ms-traffictypediagnostic: MW4PR15MB4425: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: YYzCPzsKbYubg3JdLCbqijLb6IJkce2BT90H0LK1/aMmkDXZK4jx38sEDN+J11igrvYJM58cqKmgrQfWrBgSo8jGE+q+B60SIyVpfHfFDPz3T++Lg1iJEYJbjTSQi8O9PmyZ/t1DC0t/ZqZZkFhjdrtMG3gt/XRCZrSqcwQEIWNxpMJtTjH72Ns9ktEo16tiGdk06dYR5vveAvymNr+idxTiJ7C4Pm1C3vRjGIOiOblorFAsw3LAM58bAaTn3gdyxv9JSpUNh62JHKgwu0ZUOrTdLBVH+bSL40S4ci88+YBVEBvpIUs2t3OXv/B6buv08NNtWTdZTFIzwgN8A3kfwMTZeeRVlKWCyDDmgoCebnSKGZUz3+80kNjejBudV8Bl0Ic0SQMVvRGHreO6ymuVJgL4ouVwKowGzavvzInL20eLiN7EKYxS59n9MtDW6w1vf9dkOw4WLTDWz+hQZICnSy7+QbBHGG/8WHR++BGReucwgMy91Gb0GC4AYq8BgbnvtByIabitU4Y+DM/3L7io0PXSN1l44erRCxTNeShZxVGNW2Zk78hmynT+exaImd+coGcw4sA7t185/3jB4bjxvYXDBvsZa5+CY7eVB80OSs1VWC/BF01oGDTx2AKBaeO2RMb3McrJ/ZWTY5zxWJRPaNyWdHMzKd12JpoEbph5P3142fEovNBaL40OHr7y8Uu7nClF7ScYlIu2348Gu0HPn3DeehlcHu5CUm4BxmTkWU2z+DaCfX1HPuwU4+gsyBgRak6vngiXzNpALRwFmgiEr6pjpxD9g4mdtQ58qGj+9vo= 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)(366004)(346002)(396003)(376002)(39860400002)(136003)(71200400001)(478600001)(6486002)(316002)(6512007)(54906003)(6916009)(36756003)(33656002)(2616005)(186003)(38070700005)(38100700002)(91956017)(122000001)(8676002)(4326008)(66556008)(66476007)(66446008)(64756008)(76116006)(66946007)(7416002)(2906002)(53546011)(41300700001)(6506007)(86362001)(5660300002)(8936002)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?SHaRzLcunt/C+RrVVd9tAV6VTw9Ld/wx1pC40w78sGttHa5YRcLtUaMUcIH2?= =?us-ascii?Q?LgJq9DMqa9+jAOJyce/8wn0TGyuG1ThpUzmp9KCyi+U2qEmOAadiE3ezGNFp?= =?us-ascii?Q?tH1iJ34dO9uwet3qzlURJu9oZS1fjvcny6idIx53uJqAMppYCx0zcmi0Xx/r?= =?us-ascii?Q?b7KFTc0MXUTJbgQ30JNzXDVpNeFFdDsfK0VrBwNthRpV6IO4KCqo7/VgIUoI?= =?us-ascii?Q?2eVlVFMfoYuFlYyXH/J2Tu5iBNAtQPhGMRpLE2AvFk12IsJEUnCgF7ywffpR?= =?us-ascii?Q?86nYKW1kBmhk5zvAlE21A8pTppPfDJKe9FpXNH7YgO4dZnKcgG9uStmddw6T?= =?us-ascii?Q?KeeDsOtVlaB+2qQn31f2PECjDxzvo7MPTvSoiSxE5tpM0ysBgoJK+JOaxefG?= =?us-ascii?Q?rPsN1FiMRXyp6kK1MUPG9iV3Hu4g4tOmLFKRtqQb3AZg5lvVnNDpUSbSyDJ5?= =?us-ascii?Q?WItDUSXpzVOAaEUk0Jzw8vb5wcL+MkIjQtIJblH4W/SDkxntbpYlEiQM48s9?= =?us-ascii?Q?0HyG2VQxLaFJmgVhS9zaP+QyBYeGEcix3DB38nIzbPtLZRbVgHBsWiC0/sXT?= =?us-ascii?Q?5SicqONohxqqVDrYfNEEPkyGY5ufDfPfCK9/PCpfXqj4kMLjFLDbKuQnD8Vk?= =?us-ascii?Q?GKHAn7WyoBxsu6725YPdmU75an+IDNqvKFJlHA5uVONFvIGgZLzL5mAabZTp?= =?us-ascii?Q?a+Eof8t2s6jz9IycILvNBYeyhEzBhRx2ZHrWOk/nH6qsffSHaxnwtkjnZEVW?= =?us-ascii?Q?mlyO8PiEAAqSls3tT4p9EhL16dc2ucL/i55FuJ0G+q1frR5qYLvvsdCDXRII?= =?us-ascii?Q?pUu0B8637ZZBarEX1+mO+CPYkKSZPy5rNUFrL7zDU2WlecQNcgaFRZGtbvuL?= =?us-ascii?Q?FtSg553HsY+cQ9BQhRm5GYnvfh2JzdOARAj+fZ555l+qBXRH+2whjLn/S7Cj?= =?us-ascii?Q?CU6vxv5DLC05mOfGSG31L/+mWh4NeAMs9oMmOjXmSjlF+ug6Khvuk5o6tEvu?= =?us-ascii?Q?kGYJs+Fuk/0JNffByHQO5NYZr7aCyg3kGKlU39chrDLVNqMme2ywhWus4VjF?= =?us-ascii?Q?TV2pd4v1KbgI2G0K/oj77uwFFet0TK7eCDz1dMpHnJo9OjAwUakU2irbj43v?= =?us-ascii?Q?+tHc9g3ty5pOAE+YrzytUJlHmHDn9HKBSNCxaJHSOPDgEx0U9qJjKWTp2+sE?= =?us-ascii?Q?/Dk870eagL/KRhKV+dDW090jQ+YRtrdAI/CfydLCCYW1sDGInA056VHf7MYT?= =?us-ascii?Q?f2/omhY8nDurkuM29OiP7P2J5dN4uYLed88YSYQbppacTLACNTkgWXpsPN0m?= =?us-ascii?Q?9IbI7dY9ZmxOSGktkLXGpzcy0Csqoa3zi4UApCK69A7MWFpZD73tHgKCZ5Vz?= =?us-ascii?Q?5JLl3FN8iT6Wckvbhjjhw2Hr5mAIX4ivPXSqfnVyhEIgCLPs3xjtHmDkkcb8?= =?us-ascii?Q?pbnoB+CPstIILqYWRZxRJZx6OTCiRQNAZMASvb8TKyzr8/UUICpWBNmR6cXl?= =?us-ascii?Q?t76Kojw3lk2BqwUUi4ydGPCOSRDNdPM1d8Nx1MgnJRCEZUj7l1b3a0mRj/8F?= =?us-ascii?Q?HN45AK7RcDh9JVzEftiBUhfVW7TbAqmnGWxOWYl+6D3VAhGvuztSTcZSvCLd?= =?us-ascii?Q?PH/3P+xW7ekviIZ1SzrEdmg=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: 2f34e7c0-7006-4ae2-5308-08da845f4d24 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2022 16:56:47.6707 (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: lYsrhcjKn2DPwdju4NBzFdGVM/Yu7eG6W8ucBLPVmM8ZSmDOKxbMkPfGngl1nbaxnn+SPlkDobz9ZWlkWWPCeA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR15MB4425 X-Proofpoint-GUID: -NO_TgRP5Zu2RkEluawegJqkirrhCzEv X-Proofpoint-ORIG-GUID: -NO_TgRP5Zu2RkEluawegJqkirrhCzEv 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-22_10,2022-08-22_02,2022-06-22_01 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1661187419; a=rsa-sha256; cv=pass; b=O+XKwFrcp33HR2fmzAc5k4t/mIWSZKCTf3qhczAVtvEPqMslLW+UlGhNznvk1pTJrTR+41 bThXtmzHWak0SsJGTDTcW2FGSxkirVs+0VQ+SoWRtpHUHMH6DwZ7zAjeedcIc/NvT7SMFD HruXao4wM1TLAfZ1A57i5YqUOvIQuZg= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b="UJBmu/jg"; spf=pass (imf11.hostedemail.com: domain of "prvs=9233de1544=songliubraving@fb.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=9233de1544=songliubraving@fb.com"; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661187419; 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=TBPthcE5MsNDzWwgN5mtI/ps9KtF5Hd/JJVKmRDqcn8=; b=2y6RuFxOB19LjkM3eCOS0z4bU86IkOXIj8R1LgJy2YOM8Xd9ocqPDRbyvWqgbUC8JH7slC 6U3zriPLPlfZhzmoe2VTkqELvZaSU/G334F6kqZ2i0+fBscUP3BC5kugXM+6/y9mZFFcRq tNZaTyNB5Tzcg7bMfCVLZkH9G3lbsFc= X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 87F6640243 Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b="UJBmu/jg"; spf=pass (imf11.hostedemail.com: domain of "prvs=9233de1544=songliubraving@fb.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=9233de1544=songliubraving@fb.com"; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Stat-Signature: ykisa77ewrz1pbwmo6u45c67yd69d6yi X-Rspam-User: X-HE-Tag: 1661187419-610776 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 9:34 AM, Peter Zijlstra wrote: >=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. I didn't realize the importance of the guard pages. But it is not too 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? There are a couple benefits from a second tree: 1. It allows text allocations to go below PAGE_SIZE granularity, while=20 data allocations would still use PAGE_SIZE granularity, which is the same as current code.=20 2. Text allocate requires mapping one vm_struct to many vmap_area. Putting text allocations in a separate tree make it easier to handle this.=20 (Well, I haven't finished this logic yet).=20 3. A separate tree makes it easier to use text tail page,=20 [_etext, roundup(_etext, PMD_SIZE)], for modules and BPF programs.=20 Does this make sense? Do you see other downsides with a second tree? Thanks, Song