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 D0081C0015E for ; Mon, 24 Jul 2023 13:35:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 34CA88E0002; Mon, 24 Jul 2023 09:35:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2FC428E0001; Mon, 24 Jul 2023 09:35:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 177288E0002; Mon, 24 Jul 2023 09:35:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 01B8E8E0001 for ; Mon, 24 Jul 2023 09:35:14 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5590180A88 for ; Mon, 24 Jul 2023 13:35:14 +0000 (UTC) X-FDA: 81046601748.24.3F30D75 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2052.outbound.protection.outlook.com [40.107.92.52]) by imf15.hostedemail.com (Postfix) with ESMTP id 5A586A0021 for ; Mon, 24 Jul 2023 13:35:10 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=lGDlypGu; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf15.hostedemail.com: domain of jgg@nvidia.com designates 40.107.92.52 as permitted sender) smtp.mailfrom=jgg@nvidia.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=1690205711; 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=A+OPrWGHBwkQ/IhMmIPOClIU0sP4gdBMQ+64hmkWK3k=; b=5AfjlED6MY5WtMBN8wYxyIwqgakDkrSw4PbMMsiZ60AzpVuYHXFOguwt7Qv7N6G1n2pQyj cDfwrbgc/7S9Ufg4+GIpRAZnKn78nIK06CfF80P2BrEgpUW8vz1wREzeOHPhqKs7aGw2pD Chv7bRlCchYdF96Klxsc2ZqsdT2nVPA= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=lGDlypGu; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf15.hostedemail.com: domain of jgg@nvidia.com designates 40.107.92.52 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690205711; a=rsa-sha256; cv=pass; b=69ltTzlKjldomh0KyqdTXhgGWQvbVui8TSfb1eqCBQhN2Od73igfBbQj2tTuqUu78UFPVg Wl9igJ/QS7gfXpB1zoU+wEhVxp/jVFMBvB6UGHdqOxlAylL2ow+bxmDx1lt6D7FtM18Px4 14gDhXf4Lj8pAgIHFL8KmwKATucO4t0= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fPz2qh0jOICLsAz+Oe6mlDaVhE4cqyc3Fvb7EXP/KBDGeI0SOfM9QSeK81+C5YxzDEgl7jBU+ISKRkLyV+4nhjSZs2IVMEMbgb8fMrrdr7V+Y9p/JuuBTNgoWOFqC/vRRYKDD9LpxM6iMxZvchXbpM4LAd+uoHNETEQ+MD2Op1SGCxG9BC8qtQpiEBhTqzqPe3MWzVW+Djwoq0qYEG32hf4HGqdSueCvaQnUCog2Jl0oUZxdbnsIATypOPHwLp0iZHD7SY5CBP5LlYnJLcnZ0ejl38oJQXvrCydiuOVZZV/sQHtA1kkTKnESDIEjUKDdZOQYGCEGG0pB1SKpdmiIMg== 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=A+OPrWGHBwkQ/IhMmIPOClIU0sP4gdBMQ+64hmkWK3k=; b=aqVO4QybRp8DG68vg2CJVGNCGd0HJyK7bkcaEC2Y/Bx5qJ8S/SZ3YJ8ev9EP+r1ha4BoEcJ58ah42zOmXY21eAhvlpXgqPKwPcoGKUNCR5dGPgXF3dqVQ10KZB6CznkO+cI4zhS+sNORvbFqDFrKEcvNlcnZT1umcl+qgsWNkzZiJX6zPp35U5aCKL8xkLYbcZ+8sO1oJteJZSa1+9cUSO2vjr8NtFhUQmXOJPynabhdTSMUxvAvoV5snEs4jrh9eLyCc9yzeoYP+sYpMewHyIApxM1i/5748yjrcVvjrul3rflO8t0Q17PQYkIsGe/81zrZMaPdrzyYEkTIDEiirQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A+OPrWGHBwkQ/IhMmIPOClIU0sP4gdBMQ+64hmkWK3k=; b=lGDlypGuSC2JhnLGw7sD6wZMdTcr5bqP4qCplRV2/aE+2hg0AAFQ4rwXhKYrIjVpwBt+xHDoowtFDa9csONeVDZqu82ukkI40IpdQ1otMYGLDNmh2p2mBKSHhAaLZWCUHTzKPAPO237dequpanY134hp9XYcQwEZyTY5jIbYcA3w8eJyrL+g13ws+y+SHnxqeA6cFkIi+jumWBNi7hfpXVDQzPHjouydERCsiIHDFafDsD+TmlvBAgjEbI6O/3WkPRISI/E/Te6ZnEA2QsAjra5IQT//CVnXhCqhL4n425UwQG4AZPqDSJMgAqF2Ik9LI6tiilDMmJgsemXMDLIj/A== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by DS0PR12MB9037.namprd12.prod.outlook.com (2603:10b6:8:f1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.24; Mon, 24 Jul 2023 13:35:08 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::5111:16e8:5afe:1da1]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::5111:16e8:5afe:1da1%6]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 13:35:08 +0000 Date: Mon, 24 Jul 2023 10:35:06 -0300 From: Jason Gunthorpe To: "Kasireddy, Vivek" Cc: Alistair Popple , Gerd Hoffmann , "Kim, Dongwon" , David Hildenbrand , "Chang, Junxiao" , Hugh Dickins , Peter Xu , "linux-mm@kvack.org" , "dri-devel@lists.freedesktop.org" , Mike Kravetz Subject: Re: [RFC v1 1/3] mm/mmu_notifier: Add a new notifier for mapping updates (new pages) Message-ID: References: <20230718082858.1570809-1-vivek.kasireddy@intel.com> <20230718082858.1570809-2-vivek.kasireddy@intel.com> <87jzuwlkae.fsf@nvdebian.thelocal> <87pm4nj6s5.fsf@nvdebian.thelocal> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL6PEPF00013E05.NAMP222.PROD.OUTLOOK.COM (2603:10b6:22e:400:0:1001:0:4) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|DS0PR12MB9037:EE_ X-MS-Office365-Filtering-Correlation-Id: 37199d59-69d8-4453-4c55-08db8c4acbec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nItllhQIJhi013D+Whd93RWQ8iHKHWRZsNAFaEEOgwg8bgf5xlSZqLU5xrzMjeDtOZDxa/y915iTYXBLqIYZQRgrUmUQar5pzado+1EBc6tg2q25H4EPlIcbmaBEFrk6Z3SqjwFlgQUKIz6I1Qxgz67LnD4bp4LbH8ntD1BbYuyl8NOOrZ7NqBWNGwT9rNj+W87VmMI5lNLMS4So4bnBZaMhEcOo6Af4IC9/jrljfy+r9Z9PTH4SjcdVv9m7zyXHUZLwL9Nqvo3w0rgZpl0rLCtQIOgqIvmsi3PQiKFuKAjOl7AxGTfW5MWSxZbft9zksYIdkzFE6mnzD6LXt2fHmMeZ8KG2choZjOx9pwhCwGKXuQpFM5cggFXcNTUZlQ4ACHSAHvN05oCD84m7k+AkHhPKVIF47tHSz7fGm0vaRRKjgfL0FVob/Xl6O21M38dNQNgocwiN+WhO0/UCK9m/j2Adfh7HR3D7lFDNZT40wCParPOPkEsua2L+MxibGL9UwjuvsRAiQMZlOg4CnJDAYWvV+velL1MPqgHAtCeiWwDFLcKlGNsCq9oEAA4/V6wxNYDkct7x7TPBXgs3Xx4w+Hhcw+9O1G5vFJfsgMi/hxI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(366004)(376002)(136003)(396003)(346002)(451199021)(186003)(54906003)(478600001)(6512007)(66476007)(6506007)(2616005)(6486002)(6916009)(4326008)(66556008)(66946007)(83380400001)(38100700002)(26005)(5660300002)(86362001)(15650500001)(2906002)(8936002)(8676002)(7416002)(316002)(41300700001)(36756003)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?U1uvtNEX1A4m8Ty7zHk8h4OFTCVzU+YR5UjF2A8nzsqgFbS0UJwO/OaYXimh?= =?us-ascii?Q?uMbRq6IqYkled4JcyxYkeD4Ip6SclaYpYvutERfrYiYHuGj4OCAxfgcZHI8x?= =?us-ascii?Q?t7ZL/GXDL6NNDBYqcvKmgBdPDdJWUl1yxhYZUbWQDE4ZFGwriRLXhUcZv4q6?= =?us-ascii?Q?zXV19Tj2cz+GRKvOO52eg46kPVEHQpSe7XKgYst3kUWJIE6LT8SuEXp5XGHB?= =?us-ascii?Q?GSdzKnhZwWPGTGWvIeUa0Kxx5RMUbXOF05WNaljHANC26j1yu4JuTRIJGKYQ?= =?us-ascii?Q?j25U9UAqCeOcXGI4UX8+g14BukXRSeFP8a84PVjUTs/0DvvBHeJNr25MvnEo?= =?us-ascii?Q?x4YhE3Cde487nOH1gVgAVCr9i6anafaTa6QvBSZo8u7HxFaPIaJwIeABjpqM?= =?us-ascii?Q?6bX+1vIiqTGZ8vPoBhI2mMuALlffl1CIOis/qLLy69NFFTP5BMz5lPZOwe8z?= =?us-ascii?Q?Vwri7f/kmU9mC4oq/Fqh7iallBpHeOV7+MLbJS0ZPuSoBC/RpHUH7WVemcOH?= =?us-ascii?Q?1Zuo3vkEP0IvASvtxLRHP6P1vS0uIu86pa+Vq0+dMqH+vb4mZz4LNibL06GU?= =?us-ascii?Q?KfthOAo7pvGVBi9EAXrQtL+IQcwOEd5DNF8YJibAeAGLQ1kO1pjhScvKjYS/?= =?us-ascii?Q?log42j9/kxrwAPPw7eKUMoM5hvMszfNRBi6y0u/26qCvhHwn5vCY6P91KlY7?= =?us-ascii?Q?+om29/zLW2kmgN4eVI2Oq4O6jSbRmyXLgQCxTjPMDLRyQ7vnkDzjUOivym43?= =?us-ascii?Q?0wMMS5MIwZ/+7XDuWdDHYUThsBySCiyzvRqw1F/x6ILeUiiqSgU51mhgQxhE?= =?us-ascii?Q?ZHJBbma7CMOvwZptTrC5cnzcem48eq4mfITcb6EdrV+jd7/cS9yjx+cw4Zkj?= =?us-ascii?Q?D0dKQAS6TXVJJ6vtVoame5L601rb8e2IeXH8TFjZndbvI90MNY4h1QWeIQv8?= =?us-ascii?Q?Jt1nqGGxeM4mlQtivabY5pYiR2Uey/ZyTwEhN8lIgi8cEtegvhaRKrIpGqmK?= =?us-ascii?Q?yLVp3BKoNPtPMdK4FPPSV5VyUDUxOFtML/qYacofxY4xzblEXklvRI6b+6NF?= =?us-ascii?Q?oc1K07nkvhn9v6QFS2wTyijXTpzvcmpejiuuHp89SmQIj3RGBSRq7CwFFuhC?= =?us-ascii?Q?WvgP0JK2mveX/jxb3qmV0s2oVD5PXpo3fcvs0IUQH+8lA8DWS716AsLcje5+?= =?us-ascii?Q?WzhGcQRRTrAednyTVJMz2S3UHaP0P9Fwv08S6UXrclCRNb6cYkoXwTiNder+?= =?us-ascii?Q?Vmbip13lmmuj8S2rcO5ffD0lZgGOz4AehxB1yWv5C4NZQwGVyWfdup0ugMpA?= =?us-ascii?Q?w5LmmY+1Xby66M6Lc7t9PhlRAg3bV8eEja4SmxjaUomxtioPbJD2+8FlLEzO?= =?us-ascii?Q?nUVRYwcKTK5DQqM2BnxszLBX5L6eKbH5MH3YnoBh8MfCkj6meegqVDs3ha63?= =?us-ascii?Q?l3+zYkAXVmNLbsSZ5H6QzS0Y/u7vb7HpKuz/N62ackgta0+D5kEs+sDmJ0Gj?= =?us-ascii?Q?EPFmrnoYtwuDeCp2BuNFqMBu1kAsBPWB4yxWWIwfhqgNsrVbkNdt9MDtSz11?= =?us-ascii?Q?DeFa5CRlPCttFN8sSR1ajYCM9zJH3fxowcorBsfF?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37199d59-69d8-4453-4c55-08db8c4acbec X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 13:35:08.1420 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DyTRixZ8EvAHR4ac/sjarHlls1kSuehdMy5xs2Bo7P3bUNjfTKT5neys4/zaEt6B X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9037 X-Rspamd-Queue-Id: 5A586A0021 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: z4ia1emyf49nwj6c4c5hos1g7159n7b5 X-HE-Tag: 1690205710-811135 X-HE-Meta: U2FsdGVkX18o1FxN0fvgce3UrSpIAiznnSSr6nFPPXI9zCCUZAZlTdg2YBqNZN92PrXCTEDhxch3qJLOENd1odq9L587EabKahAHi33i5OdE+9Blm3GStPl60tmJJAXIPeomJOzgA0+tkrAmlHPCMKW8Ovi767xVYm+LSkEbIqizsXPeNr9oDL2HlSK0sH6I1NELIAOM+lJyWnHfuzkNq7cR9+D/KfPvIcqrUJD40gXBBLcuhdVoA2mIWnUQkzIZz7bNsE3PvSOTJG0MpdG6+CasvYt3gGjXA1Zukxz22fOzicxPmOTNzY5IhAjKuh8Ne2tzW8xnIa16hYdHHX4tSjmiIsyzOw1KQ6RHOFuk9BUmryZueJ4uH/aIoHY58QwQps/RtEGSLwOViyf9Vh9C+kHVpYRxEMQZykp9aniOE3lU/CY81TZCmsgETX6cryDNlmZUZRy8Qo8W1mukGjJ56Yj136DoDQHoGBzoUM2Nt7B8V+VPsGMXGkn2ddTEu9KMJOe0SZsg27Z+JvtHtmECnmT5xhr0ov9Bnaf76kD/5l5mKNPOnNAj+E7htOQrzTOzr3wEJjuqOvIgxVYGCJnL0EZ0KRIMK/I+cMj79Z0p8grmnkRK7Qo3f81wCF6sUjJZWw9yIfMz+KvT4cRyXkRUuu4HHWFvdf7DeyGidfhLhFLKChJB4sTWgvxxVQDUhC8olDh6LcycuhCesSkSayVW6tPTqXyxuod6CBgwMdffOieS6u618d3dBIb5fU565ni7qpdTNArXlPsru50ztMXH59VeOKPVOs4toqze/EhHjKUhtVGWVIxdVMNcR3YiNKhN1xTHKs88A7aaepbAb42XmZVHSwezO84qEKMA3wPKHM9CnJGJ5oR+V/ycIgAmXnm4b714WUbLOWVUl9sXlJX5P7pKLbxn1YkKreiB4/D0JCWewcgnFpYAEjO8dkxKAt3U/fTTCsYWas7svDfbA/3 zMBqzcLf LLy5vD/nv7l+PcERxwW7uOiaPHt3W70E/bqWD5y6C+si0D4TsVx55v0p1IMg1LCYzExpCJJalJt6eU5EqXCUFv2g+YcM1pgU2j5sXv/2JwO13ValufLfoAJrWFeIRh/i8f73Y3j0yvHvVqleWdB5uWPx+mwWUUy4BaYEwBVmkYd8bX2N57+4pizGGw6hYou/nE7862G06HwzsF6akdVEVGWHGkfU2URjpLkBBzkGQdnJqgGgXYzKoYataSji3TnTNm1p58V6hkAjUAMpuA9WgOHcbldxHK3RC34GcG/IzdXWNW/M= 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 Mon, Jul 24, 2023 at 07:54:38AM +0000, Kasireddy, Vivek wrote: > > I'm not at all familiar with the udmabuf use case but that sounds > > brittle and effectively makes this notifier udmabuf specific right? > Oh, Qemu uses the udmabuf driver to provide Host Graphics components > (such as Spice, Gstreamer, UI, etc) zero-copy access to Guest created > buffers. In other words, from a core mm standpoint, udmabuf just > collects a bunch of pages (associated with buffers) scattered inside > the memfd (Guest ram backed by shmem or hugetlbfs) and wraps > them in a dmabuf fd. And, since we provide zero-copy access, we > use DMA fences to ensure that the components on the Host and > Guest do not access the buffer simultaneously. So why do you need to track updates proactively like this? Trigger a move when the backing memory changes and re-acquire it with hmm_range_fault like everything else does. > And replace mmu_notifier_update_mapping(vma->vm_mm, address, pte_pfn(*ptep)) > in the current patch with > mmu_notifier_change_pte(vma->vm_mm, address, ptep, false)); It isn't very useful because nothing can do anything meaningful under the PTLs. Can't allocate memory for instance. Which makes me wonder what it is udmabuf plans to actually do here. JAson