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 F0D52C433EF for ; Tue, 18 Jan 2022 22:52:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8D3346B0073; Tue, 18 Jan 2022 17:52:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 880006B0074; Tue, 18 Jan 2022 17:52:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 65E726B0075; Tue, 18 Jan 2022 17:52:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0167.hostedemail.com [216.40.44.167]) by kanga.kvack.org (Postfix) with ESMTP id 5555D6B0073 for ; Tue, 18 Jan 2022 17:52:36 -0500 (EST) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 1EE8095278 for ; Tue, 18 Jan 2022 22:52:36 +0000 (UTC) X-FDA: 79044908712.23.BC14F22 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id AE888160003 for ; Tue, 18 Jan 2022 22:52:33 +0000 (UTC) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 20IKEkuO007941; Tue, 18 Jan 2022 22:52:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=K7tPZwjTf7dA1Hp8GJYrrVI5AfcCPpl1oqy1ETjUzFM=; b=jZgvgVM9ALLfX+nrd2ClAVgGigzMPXP5XsUWSx3E3/bqCEf+TJcYXZCIjGSiUXRpGSvd zSYR2YaE8PW7zDASui6HBb59VSyGqI3qSMeNvx0j7Mla5slGnBVy0q8n9/zYKVn/Gmsy 7zpaa2zhJUnA1b1jnmxkNt3mVlUd4nCPa5XjeZKQkDTVdtKjfa4v5Ko/Tzrsjb0RZ3Fa /U8da+EiIgQ3SgQRPXif5Oli5lc7SIIKoSy5uMOttoGIytXi9qnVE48FlEGxxFH8L+vn XDhbt5HxENiW9M+U3KLQ8/p7ajC18BSyArCmGifcP91qD6te9JEN1eRv/Tl8u44e6ik0 8g== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3dnc4vkexg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 18 Jan 2022 22:52:20 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 20IMoPr1131171; Tue, 18 Jan 2022 22:52:19 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by aserp3020.oracle.com with ESMTP id 3dkp34yd44-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 18 Jan 2022 22:52:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GX0U1HB/SSR3jK4afaaoynIaNpke6MEA5fA/KcgO50EV/cL/QyzLUIq7ChiQ7YeehbVyzLOFwA8b10NIgiaRxNXS4zp4sIOeKxRYchc6UZSvU9oW7ocoONHEnrFwI9MECTXb2593lmSc3giXwfv4l0+5nmsBEvKhhg78wgVRbxbIQwehDXLT7MsSClm/d6F7+MjwTBtMhJq4ida49G8GK61ydvM4PW4PyeMMdj0WO+ceO6kLfh1a8N9kzFm9SXtXTZFosU8lqwU/0Hw6ajGMJutjjx5RlSA148Ldk9JreE1MtTHzGEuyIUzxgA3pJy+BLXL8MwfPWo5dRZb1IMvjow== 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=K7tPZwjTf7dA1Hp8GJYrrVI5AfcCPpl1oqy1ETjUzFM=; b=csaX0PrPZUF0TAGULG3FVIpZi8i/SPsXTdXYVo5jRr6XQuiVHFpNQCQpv12ZTKWxL3AZInBtAMP56Had6QDW2dwSnAbtxSh3aFkPCxD6A6EwYG6Bo4AR6/oCkl7kQF4LyxGr7aPmTq8EG1UP2liop0lKbNKCNvmNF2xdFEEWhbqBqMp0JZCtwz9/bE5nilhaDhx9gNZYnvvOXdOY6kUR2ZRKKhYo1YHwkgq44U9YylPzyAegkST2uTd73bACmU9cNL+YVcwVPowwT3o4XWL8rTV3KPrePn0Vs/wKOld03sU4la2kzAlzFnc4QSOC77v5BH+R2OHVb4u+OOe6Z5IgqA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K7tPZwjTf7dA1Hp8GJYrrVI5AfcCPpl1oqy1ETjUzFM=; b=frLNBbytyHbJ+CWkDiBDS6qkK04t5Xl+7a8wbqRKBZiGxkh6X2JAHmwBx0FzoSIYE4q3jzP+m1I9+Jssk6yKRlk1GuQVr7UYMQx+Ul8VGQahobxLvljlI6iMPBaV6SmobI5jd8lVH8Lze2EGd5TTxDFzMcFWY19DMO8nye2yJuM= Received: from BN8PR10MB3220.namprd10.prod.outlook.com (2603:10b6:408:c8::18) by MWHPR1001MB2398.namprd10.prod.outlook.com (2603:10b6:301:2f::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.13; Tue, 18 Jan 2022 22:52:16 +0000 Received: from BN8PR10MB3220.namprd10.prod.outlook.com ([fe80::104f:849b:6a11:c5c2]) by BN8PR10MB3220.namprd10.prod.outlook.com ([fe80::104f:849b:6a11:c5c2%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022 22:52:16 +0000 Message-ID: <20b93ac5-dd98-172e-505f-094aa6b0df92@oracle.com> Date: Tue, 18 Jan 2022 15:52:12 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [RFC PATCH 0/6] Add support for shared PTEs across processes Content-Language: en-US To: Dave Hansen , akpm@linux-foundation.org, willy@infradead.org, longpeng2@huawei.com, arnd@arndb.de, dave.hansen@linux.intel.com, david@redhat.com, rppt@kernel.org, surenb@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org References: From: Khalid Aziz In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SN2PR01CA0063.prod.exchangelabs.com (2603:10b6:800::31) To BN8PR10MB3220.namprd10.prod.outlook.com (2603:10b6:408:c8::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 77b0336b-8bb9-45e2-e0e5-08d9dad52ce0 X-MS-TrafficTypeDiagnostic: MWHPR1001MB2398:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W8SWQDH4pZ25rbiMDKJQCi0YXlsnwSX3ffdOm+iDjlKhX6C748Ms0VNpJD8zNh4ZuAnBj4OhUu1Va2okn8cjPTVb4CQrAZ3WePs2XAJ54aSXaYSWhSZT3rIBnXn2myGulEvBFBPfDntivgWtkHHt9yyfTGE7H8egcrRLxs8+o5qCTmQo1eus/6jIKa7O6NQnKPjBFxtNCDrYiptpM4ah7OZfXF1vPOFZcDbBjPdFonzHoF5mRy2tXpEvWI/NE6t5JJ0rGu+181st1eheWxiFuyggpWrvms31x2D0gRGra68HFoeme1gL79Bh/QsqTGh5Qcharo256W073v+W3HXUYFlzCNLprjMLC0TPHAZOJt/ucp+xrrJnaTiPpsLctex/riS93scWlhjnbnsEnURvSceoc+Mj5gCkavlEq0uOGlX4qhcIR//sv6U6KZHBplKZFvu8VJDl/mPtEsSo2Hs85vLBEtdz9ondbHFVoUy60vQMTHXmT9bhYK9dO/5hPfsTkCiecgzZ+7XiIVmjUc4AJ9awNRMkO9jhn7L6N1UYa+8Hk0cqJk3Ubp6Mrs9oh5W1a55e6J+P144xGA0zEw2mjlUOTDDU0YnmwvxAhwZonZ2AUD4rTN8ugCaxy4Dhm5GHa13bEdBvqurxRFVlsz4jdLSQn/gsX5UI14LP3jIO3ixeqlsTIfAeWCI4oxfwT1DLHamjZfXD6o9ZF38Tm+VrGV8tL/TuJ66u40doKMNwRwMdYFfU7az/7gRcw09NFS79 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR10MB3220.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(2906002)(8676002)(38100700002)(8936002)(186003)(53546011)(6506007)(36756003)(508600001)(86362001)(6666004)(2616005)(66556008)(7416002)(66946007)(66476007)(6486002)(5660300002)(316002)(44832011)(921005)(6512007)(31686004)(83380400001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U3JZUGV4YjhraDRiYUlqdWQzODNwSmV0cVV0d0NBQW02MGZhWjRTTHg5Wmpq?= =?utf-8?B?TVZjRWUwSDFITzRsMVc4RGNsQzViTENUU2h3LzczTVRqQ3NKamFRNVdZbUhh?= =?utf-8?B?cVgxYnZMSE4zRUpMVjhUUjgrTVZrbElsT3BaK1FaMnptOHJ4bkN3eWU0SklG?= =?utf-8?B?bWxNWnZWY0VTTW1EOWphRXpPdnMxSC9KZlM4VHo5MENRQWhaZDd0M3E0bkVl?= =?utf-8?B?UDQrS3hNbGcrbU9xbklNOVRJTVRHZ200NXdQUlluVnVra01LSmtTYVNBc1o0?= =?utf-8?B?WTNjWlBvbVRkV01nMTJiU3laVlhYU2M1LzRSajY2Vm56TE9SM0FXZEk3R04x?= =?utf-8?B?NHlrOEwraDhhajFnWEx1bHBVdVk0aEFUWitCQVdOd2piLytDRjNhSkpTVG9k?= =?utf-8?B?VHdlZEZzTTJUM1dxa1FWNHF1cjhDZGdOOVhCbUZ1UDRjd2gwbkQ5ejdBbm0z?= =?utf-8?B?YW1EbTQvMk9hMU42emc2ZDRpM240SmszNU8vZU1uWGpsRFpXSmVwSmxtbXMz?= =?utf-8?B?UTJyQnVXSWtXR3BmeEpIVGY2bytFVFlZTFlSYmlpWlVSRDhwQ0xXaHRTMWpH?= =?utf-8?B?WXZRYUl1SVpVbzVJV1BTSjdpOFhsU0hMRm8wNUJtdVFYdWd0Y21iY0VTRyt0?= =?utf-8?B?ZmhpSTJtQWIvUGw5b0JKN0FxeDl1VExRbDhMWmNoVmZ5OEkzRXhIVjVxaWo0?= =?utf-8?B?UG4yOXhwY2VYMm9UVEs0WU1jY0JDNTBuejZvWFVPc2lKNFg0Y3lOSGIrYXRW?= =?utf-8?B?c2pNeXpoSVJUOG92RUEvVFE2ejlWTmh5d2Vhc3ZsOHVLQXZVQk44TzFHNTdM?= =?utf-8?B?eTBKT21oc2FsSzEvV1FFQTBNdmYra095OWt4UWt2SUkwZ25JbVhXS3lUZmxn?= =?utf-8?B?R0tSVlFXSis4Vm1ibVJ1dHIzZGd4dXc3d1Z3NUNBUkFzSzMzcTNwb095aHdq?= =?utf-8?B?Q1EzTDNncVpHMTFmc1BPZjVxdnpKMWdTWnp1a01oem5JWUNEZHdaRDF4L21n?= =?utf-8?B?dFIxcnVaTGRDVUprd3VqQVVLY0ZwTndFL0xrT3hwbEJIamZmdU1zY2tEemVI?= =?utf-8?B?Z0g5bW8xM2lLSlV4SWttNnU2SC9oT2w1M2lnVzFxUklJZjk0S0R3UVBsZzND?= =?utf-8?B?Q20vNS9Sb3hMRkdneUpWVGtFWURvdytkZUpYWmdoUUY2TC9sYW90SzVpWERq?= =?utf-8?B?OXZxd0VHS2N1S3lYdU8yNEY1cFZZdER1MS9nb2MzUHpJdlR3ekNQbU8zNndS?= =?utf-8?B?WFpXTEdzLzk0aHZaekxobi9ycE9OZitwWnJVdEdQSUZ1TXNnNFB0Ny9rdzQ4?= =?utf-8?B?NVRVQ2lWNkR6WStCZmtwb0lITzFJeW5yaExRZFB1aktxUzdvbmp6YmVodUxJ?= =?utf-8?B?V09NK0pCOFcwVzJtcS9HVVZnWXNOTU8rSTIrRUhZeWZWVlRnZVh5QjBZNGh5?= =?utf-8?B?aTBDZW1lSkovQnZoSnU1Tnk1WkJ5QXYwYlZDTkhic1RQaWY1R1BRZWN5b3dp?= =?utf-8?B?OW1GTjIwQVJRNmVyLzlhWUFwcHpmQldTNzkzSEx4NUxGaysyaGZ6aVRZWEVQ?= =?utf-8?B?RWpLN0NwUlhDUG9hZ1BMM2ZjQlQvcFR3N2lINFhOYzJFRjcxcTAvL2Q3ak05?= =?utf-8?B?Y1M0YTFnekM0KzVGZ1pUbE50YWFDM0NURzYxcnhzamJyYmM5cmNBT1RwV3V4?= =?utf-8?B?dlpHS2NkMmZTNnlQK2FkWDZWdUtvT3NaWHlNQ1Q5WFpUVS91U2dmWlZ2MXc3?= =?utf-8?B?ZDMyK1ZTQndWQW9McERlaDBuTy83dlF6dEl5cXZMN3ZFRmhFZ1NCemp3RHFn?= =?utf-8?B?TkFnc0E4QXBDZVJCZTZtQ3MvaFJqSHloRVNLWGlJU2JFMGpTRmJKZkl6c05l?= =?utf-8?B?NFBiZ2JMMkFISC90RCtIK3dJa3I0R0RvT0N6YmNqamZEV1hnREc2cmRuSzQy?= =?utf-8?B?eUZNVjFNdHVxQ2FXeEk3Y0hnZkN4bUh1TGRHc0draWVPTU0wbGdCSzBwbUtH?= =?utf-8?B?VTN6WWQzK2JERGFVcU5FbUwxdDl5S0pvUkpnblVnVzAxSTJ5c2MvRWMwWHRj?= =?utf-8?B?NWR4RXcvZWdNOWhuZ3Q2TnMxTFRkdzFTdHdrY1FjR1pVd0JIYUk1azlTbGdC?= =?utf-8?B?YVl5VGF3d0JTWERaN09QSnpVRVNCeDRGakJmbUxQTkdoMWNUN0hpZzhvNHdn?= =?utf-8?B?TVZ2WUhPZ0RJOG56Q1k2TDB3eUJMdldKeHRoN2xhQTBmV1JyTHNQUmdFTWEy?= =?utf-8?B?cWMwSXVnTnNYY052V1FaaGhoZ2pRPT0=?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 77b0336b-8bb9-45e2-e0e5-08d9dad52ce0 X-MS-Exchange-CrossTenant-AuthSource: BN8PR10MB3220.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 22:52:16.6710 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ifVH2PbYnEvjLwC+vzvzoiTUAKlpNc0DA1Ttx1GrNBt++qMvKK23QgadLZ20BKMxnByCIcy+CaDgRvGnmscd4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1001MB2398 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10231 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2201180128 X-Proofpoint-GUID: XcLtW0aQpFp6ZsUhzdyqh_VnXi7iDFky X-Proofpoint-ORIG-GUID: XcLtW0aQpFp6ZsUhzdyqh_VnXi7iDFky X-Rspamd-Queue-Id: AE888160003 X-Stat-Signature: y79ff3o8m4jketj611r1tetqzs1mzfxa Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=jZgvgVM9; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=frLNBbyt; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf08.hostedemail.com: domain of khalid.aziz@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=khalid.aziz@oracle.com X-Rspamd-Server: rspam02 X-HE-Tag: 1642546353-279363 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 1/18/22 15:06, Dave Hansen wrote: > On 1/18/22 1:19 PM, Khalid Aziz wrote: >> This is a proposal to implement a mechanism in kernel to allow >> userspace processes to opt into sharing PTEs. The proposal is to add >> a new system call - mshare(), which can be used by a process to >> create a region (we will call it mshare'd region) which can be used >> by other processes to map same pages using shared PTEs. Other >> process(es), assuming they have the right permissions, can then make >> the mashare() system call to map the shared pages into their address >> space using the shared PTEs. > > One thing that went over my head here was that this allowing sharing of > relatively arbitrary *EXISTING* regions. The mshared'd region might be > anonymous or an plain mmap()'d file. It can even be a filesystem or > device DAX mmap(). > > In other words, donors can (ideally) share anything. Consumers have > must use msharefs to access the donated areas. > > Right? > > ( btw... thanks to willy for the correction on IRC.) > Hi Dave, Consumers use msharefs only to get information on address and size of shared region. Access to the donated are does not go through msharefs. So the consumer opens the file in msharefs to read starting address and size: fd = open("testregion", O_RDONLY); if ((count = read(fd, &mshare_info, sizeof(mshare_info)) > 0)) printf("INFO: %ld bytes shared at addr %lx \n", mshare_info[1], mshare_info[0]); else perror("read failed"); close(fd); It then uses that information to map in the donated region: addr = (char *)mshare_info[0]; err = syscall(MSHARE_SYSCALL, "testregion", (void *)mshare_info[0], mshare_info[1], O_RDWR, 600); Makes sense? Thanks, Khalid