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 6EC47C02193 for ; Wed, 29 Jan 2025 17:09:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D98206B0102; Wed, 29 Jan 2025 12:09:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D47EE280001; Wed, 29 Jan 2025 12:09:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C0E696B0104; Wed, 29 Jan 2025 12:09:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A2E1A6B0102 for ; Wed, 29 Jan 2025 12:09:46 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1F994160F73 for ; Wed, 29 Jan 2025 17:09:46 +0000 (UTC) X-FDA: 83061126372.15.147DED3 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) by imf27.hostedemail.com (Postfix) with ESMTP id 72F5A4000C for ; Wed, 29 Jan 2025 17:09:43 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="lX/8phGr"; spf=none (imf27.hostedemail.com: domain of thomas.hellstrom@linux.intel.com has no SPF policy when checking 198.175.65.19) smtp.mailfrom=thomas.hellstrom@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738170583; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=ck45ob/5XYTRoa4Ra4aF7dzK7GMrFfYCQgn6nhLfZYE=; b=FLb+RGgUM7xHrqj2j86xCeEebo+CJKvVK4QXIoimASW7BwWxS97qidmnxQIPs6qBsZ+OJd X9Kgp6gNgEMeucPGan7qiczTK3+hWKp33l87SQo8TZLmAsq3dwfl/t4lHfBQx5TT9z1zQM NYu9zODyndAUjeAx+xKSJkaprxqdOMA= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="lX/8phGr"; spf=none (imf27.hostedemail.com: domain of thomas.hellstrom@linux.intel.com has no SPF policy when checking 198.175.65.19) smtp.mailfrom=thomas.hellstrom@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738170583; a=rsa-sha256; cv=none; b=3faOlQEySb2eShGufRuZhQN1pDH5qM3KqjANrs5M655W5yb/cBrJGY8KKdJ/6NXudjzCPE ibqju+/wYESLM3RW4kBCR2jhJzupRq8+n3uMDPXXjJWGpra2wtXilOqZ3KIMiXQYrHaDP/ 3/MTpHoMmA4XtYdI0xl5d0rbLXESnbE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738170584; x=1769706584; h=message-id:subject:from:to:date:in-reply-to:references: content-transfer-encoding:mime-version; bh=ck45ob/5XYTRoa4Ra4aF7dzK7GMrFfYCQgn6nhLfZYE=; b=lX/8phGrwMNY2DkxdrZ9bS3qpBqeVzB8iUTjNwJp/H/71Q6Q4RJXdGf1 Fcr5uUFzr4jI67IlOLLQRo+fzG4O/RLZ+RAADLptwQGJihci2LhE0iXEh lQ6ew4motnYJCI7LD7K88VLOdjlCwHxBJbMtXl49WZ9wzg1x4WBcvQU/D ZZJzDgjl3Z8pYRcVUSdHnPNyGWz23fzsafXS5dTyfOBOf6sndjJgkzNCP AXiE9HFsX/uf1Sq9wS2t0WzqQRUAncS6nrixXfp/lchraKBOermAsc7uS v2wyHuwB0HQjjpvnm/7ND0vVACFj2xRwGEIvmZ0CVwYx05kM1dHq6IzKD A==; X-CSE-ConnectionGUID: lQLtAfuiQgOSLgm7sCqdPA== X-CSE-MsgGUID: 8SKaIAevTSWRLgziv1ciWQ== X-IronPort-AV: E=McAfee;i="6700,10204,11330"; a="38578389" X-IronPort-AV: E=Sophos;i="6.13,244,1732608000"; d="scan'208";a="38578389" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jan 2025 09:09:43 -0800 X-CSE-ConnectionGUID: FYvkuhm9TKmr6QSfpBFjrw== X-CSE-MsgGUID: YPByyfzlRqKeIk8k2ZIu8g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="108945025" Received: from klitkey1-mobl1.ger.corp.intel.com (HELO [10.245.246.222]) ([10.245.246.222]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jan 2025 09:09:37 -0800 Message-ID: <4dd3822a2ab98ce0cc6e2d8849e7133ac6ced0b1.camel@linux.intel.com> Subject: Re: [RFC 1/5] mm/hmm: HMM API to enable P2P DMA for device private pages From: Thomas =?ISO-8859-1?Q?Hellstr=F6m?= To: Jason Gunthorpe , Yonatan Maman , kherbst@redhat.com, lyude@redhat.com, dakr@redhat.com, airlied@gmail.com, simona@ffwll.ch, leon@kernel.org, jglisse@redhat.com, akpm@linux-foundation.org, GalShalom@nvidia.com, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mm@kvack.org, linux-tegra@vger.kernel.org Date: Wed, 29 Jan 2025 18:09:35 +0100 In-Reply-To: <20250129134757.GA2120662@ziepe.ca> References: <20241201103659.420677-1-ymaman@nvidia.com> <20241201103659.420677-2-ymaman@nvidia.com> <7282ac68c47886caa2bc2a2813d41a04adf938e1.camel@linux.intel.com> <20250128132034.GA1524382@ziepe.ca> <20250128151610.GC1524382@ziepe.ca> <20250128172123.GD1524382@ziepe.ca> <20250129134757.GA2120662@ziepe.ca> Organization: Intel Sweden AB, Registration Number: 556189-6027 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.54.3 (3.54.3-1.fc41) MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 72F5A4000C X-Stat-Signature: 4asrxkth4uuuc7jjoigtdbmf7fs1sxn9 X-Rspam-User: X-HE-Tag: 1738170583-129199 X-HE-Meta: U2FsdGVkX1/s7YBcnkGCQCc1L6afaTa2L2eMBtv1fNb5Fc+iAL/dGQMNTkTUBreW/INg9gCYo2Z5KgrhXjvylFXj8cttvLJ3RSMT3QBDBpY2wLra/b6TFw3/ct1rQbcq6ZHbhjArGvJzV1XLAxYVSaX3Kdf7mPzcd2YKwZZ+krKhaopKaK5B4RUxn0cwzuKV6ZW2yK+XSopozUe4+dbGo9M7iFcOi9WqGWblH1BY+8E7gDnglIiauy2neHeytuc6+STxEn76btsdldRctonJd37adibJBKuLwmXXJSZ5TfXrkzWQsEXXHGpSEHHqkbz4FF4yNJZtZveGPjMAsumli0nJWmifhwobjVFrLZkHUdAZiMdKpGpWMiOa8s18WjAAimN2mRs6jYpjFg7MK68aeVKTthnr96M4SASWl4kxAJ7lasQeI8wXJ0GboouXCPITtEfP/9jni5gka3gVUqKP+9OzHilSpDZeJrzLTEVG7kWQc6X8/gPL/dGt+ACsJh/LCvc9Z1SUw/jkDJ2dNYJphEYvTURhsiXHnY1uRlXchlJy8izHeRumDjw5e2aNcZxGnkdcDLIvAEfwIdPQcEb3uyqWH034Ao3Th7r1F9iGsRUPJmbwka/J3E+ezry+WMGxPry6jL7S6FNu2NCwaiHKCXKok2VvWaw+E69OAb2Qo9TlkyXnkb2KgDoOxhZ3u7QyBdUtTgrhROs9KqiA6pWtnH60/E2iyemD54PgfTl8rAFXlQTgLYAjaqLP6Ah1ZC2Z95yI/ltoK60bkXbqWg4XfG1cXVSpQ5U3NVoLDExSW7eQI0jO1txUFql0DNXKNet9ov8XINSxHDpWdohBF8lPgiyrofocHnf8rPPmpU+S2yI70lo3EVDtzL/Uc0o2ZN6DyPD+PXsl6ZYHYSrPU4YftbRjfO7F+uRJMnPkow+d1X5Lut3b9EsZjakX2qGjj5iEzU1bXATCN5cvkiJ6TQV OIer4eYu 33Qje7FRGLeQ42MkTDej6x9NJbRWui8MswG9ERl/jclVavkUffb7RLfj/bHnobYgQKdXdYTTtnq4dnicuZsLi0rrP7OHnoN7FyYI6Ft2qFqKPee8nW+iIkdElc+7wXGrBSoLUoUkPJTiHWoCMrucyJ+BIFpoX7Rrj+cZHKyQPxUZdyZLf0oEvzgo6OT/PoYTGWJVOqvjS/qpxAzG4KZF4fmaDeTWqD2OyElsA0VpKhCbOons= 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: List-Subscribe: List-Unsubscribe: On Wed, 2025-01-29 at 09:47 -0400, Jason Gunthorpe wrote: > On Wed, Jan 29, 2025 at 02:38:58PM +0100, Simona Vetter wrote: >=20 > > > The pgmap->owner doesn't *have* to fixed, certainly during early > > > boot before > > > you hand out any page references it can be changed. I wouldn't be > > > surprised if this is useful to some requirements to build up the > > > private interconnect topology? > >=20 > > The trouble I'm seeing is device probe and the fundemantal issue > > that you > > never know when you're done. And so if we entirely rely on pgmap- > > >owner to > > figure out the driver private interconnect topology, that's going > > to be > > messy. That's why I'm also leaning towards both comparing owners > > and > > having an additional check whether the interconnect is actually > > there or > > not yet. >=20 > Hoenstely, I'd rather invest more effort into being able to update > owner for those special corner cases than to slow down the fast path > in hmm_range_fault.. Just a comment on the performance concern here. This can be crafted in a way that only if the driver provides a callback, there is a (small) hit. If there is no callback at that point, we're looking at a migration to ram. If there is a callback it's typically followed by an address computation and page-table setup. Compared to those, the callback performance impact is probably unmeasureable. /Thomas