From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96B332F8BEE for ; Mon, 13 Jul 2026 15:04:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.19 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783955046; cv=fail; b=pvJLiHV9G5aKGJQuriC8EEzSZHEtyu2W7bzs55f0AKaKT4ZReOcCAum1EFSHY+YSotbNdt3q6LqOG8ck8lv09JOR5GW9TCUutM+8GdHizBg/oTGdah2xBowJWa0Jbgr4im3emBqoF/e7y0+TtnjzDHh91VeDaDEnwCYVVihH6y4= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783955046; c=relaxed/simple; bh=qF/L7G4iEdNDDVB+/TY0EH3UArCBNmiOOs6hsqZyf+8=; h=Date:From:To:CC:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=rwXN55IHs8X0vtaM8MsyebUag0DZib8fEM84ePbKZy/obkuaX5jQbjtoy5uorw4ULwZPy04m5yWSlb0X19MqmFEZ7sEddYFq1KvfklSIdA23Q0o6dvoD0f+D3vrdNrqSVmnKjIhLlMZiguSvlM+U4Ik3H2xo0pWZK1V2kNbBKQc= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ImVxCFiC; arc=fail smtp.client-ip=192.198.163.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ImVxCFiC" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1783955046; x=1815491046; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=qF/L7G4iEdNDDVB+/TY0EH3UArCBNmiOOs6hsqZyf+8=; b=ImVxCFiCyQ7EhWLS8NhxFYYowyrj1GN2AsibXwXH3WrUApSlZ2SUCBg6 EZFO/UuF5+k5GtvUp5veiu9CKOCyF3/OWStnl1eBckHnahWzOwVctcfl8 KmXT6EqnVr/o2L4QOM7/xuWLxDuul0cMpR2auYyYy+cLmE52DoCT+7pK1 hIIE5JTirZj5HQ30kHQgO11QSPcAst0DDy2WGmN4/NL7Pdtt79AzxRzcZ gDH9acFNDKb0N/0jUhLDn9xy21sdOLTSrjC/zk0ZDyNyzaL8sj75yemkn wNUvWZV0Vk1q+jgJSlNQOeNPE4audPM8qNk2zhptGNJAF/c11e2ifWjXD A==; X-CSE-ConnectionGUID: cgs1fRLJRdiT3msWIsk30Q== X-CSE-MsgGUID: 0c0SgDbLT0WDEJGss5MFhg== X-IronPort-AV: E=McAfee;i="6800,10657,11841"; a="83544084" X-IronPort-AV: E=Sophos;i="6.25,154,1779174000"; d="scan'208";a="83544084" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2026 08:04:05 -0700 X-CSE-ConnectionGUID: I/cjF/fESDW2VTUQot+58Q== X-CSE-MsgGUID: 5dvL1SP0T0aZMXYZT9GSeQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,154,1779174000"; d="scan'208";a="249224924" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2026 08:04:04 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Mon, 13 Jul 2026 08:04:04 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43 via Frontend Transport; Mon, 13 Jul 2026 08:04:04 -0700 Received: from PH8PR06CU001.outbound.protection.outlook.com (40.107.209.37) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Mon, 13 Jul 2026 08:04:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZC37jP6BrbZgFVTuPjCGe4mFdxE7qAwIe3jc/Hzvrz0yuJTkLRYADHZrwq4eK6A4yFo3ReSlT41UsUXHqBW1kDYuRwS92aA6iFvVmpIh0g81/eRKUCSUDFH7DbVmasMBCnkUd0QMMa7gjmTna/C03L5TjcR2QnCd1xf/YA+f82vp3yIhW5ftJu3xfje5iU3ntIZHLznl77WaZXaZ3P/JASgJtolPsvWTz06F1vB5ixz40IPGXEhH1E+9IxxPtCnWTuwM1+vKUsXL21dgEqRmZQR30lg8vNjZ0SIOL9oqMiwQaFAVyioU9HxzYPKxdwS2w0zD0ydZCDOzGfKeaQjdfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4uC9w+ZfcFETmdG6KP2oqlrqJ5yVzh9wvmxhjgb96vY=; b=y7sD3b9OLml65KDiZPQOPVJ+S0qayQt0OJmVHFhs96C1j91uI8fy8jbEbOaQAFVWnLAM7aWear/3y/fFJEZwBZbbsFD7iWJwCVqD3275I5tlnAXMfDyJvDKWeHe+oQFpM93PJpmKoblcTOhLUMPl74K8vtQehbbio1N5Y4pE1gwgQA/yyiJt1JUIGfdBx/qURzsK1L7z0Er+1gLMESVPC3S0Q+0LCw3ZaKcTcZQjf7gLuLmoo4jIp//Y3vRPlC5l+8XvF08aPFiNq5BLdIRNJ71BQjErbUOV2YzVEnvuHjdMw0XDFz/n1FfrJ3Mii7LSGdInPJEEsgGddaVRd10fAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH7PR11MB6522.namprd11.prod.outlook.com (2603:10b6:510:212::12) by DSWPR11MB9955.namprd11.prod.outlook.com (2603:10b6:8:369::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Mon, 13 Jul 2026 15:04:01 +0000 Received: from PH7PR11MB6522.namprd11.prod.outlook.com ([fe80::e0c5:6cd8:6e67:dc0c]) by PH7PR11MB6522.namprd11.prod.outlook.com ([fe80::e0c5:6cd8:6e67:dc0c%4]) with mapi id 15.21.0202.014; Mon, 13 Jul 2026 15:04:01 +0000 Date: Mon, 13 Jul 2026 08:03:57 -0700 From: Matthew Brost To: Thomas =?iso-8859-1?Q?Hellstr=F6m?= CC: Christian =?iso-8859-1?Q?K=F6nig?= , , , , , , , , , , Subject: Re: Refcounting dma_resv and using that for drm_exec support in TTM Message-ID: References: <20260710190752.2355-1-christian.koenig@amd.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: MW4P220CA0003.NAMP220.PROD.OUTLOOK.COM (2603:10b6:303:115::8) To PH7PR11MB6522.namprd11.prod.outlook.com (2603:10b6:510:212::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR11MB6522:EE_|DSWPR11MB9955:EE_ X-MS-Office365-Filtering-Correlation-Id: c781e019-2318-4e42-d7d0-08dee0eff8ad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|366016|1800799024|22082099003|18002099003|4143699003|56012099006|11063799006|5023799004; X-Microsoft-Antispam-Message-Info: 66T3CyldoXEhw3A7k34Rp2uGqtFVtg0VpsuKUlHohw4vPmABzPlK2Rvd9ZK2y7x15mf/esHLPi7FLc2uyvcPtDqlGRFzFMBdNAmE5/IXtzNz+SsYfw86hndMlt9rfehRU5hXnX5Mn3MxXd4OWEszL05aE6/eDp0XHd+A7+BcNuE4L+vsxlYfMqEnprsKnbbBaAUjhz7BJmV9N/4u50abgvQam9JF1B1RkM36Obz8YEWmxo8bTLuJa6ikVTvJgAoNiuq9Esz7NMzNT+eJgFbpitYwu9kZEbnsOglumpp8HPxmyt+qk3vQmUU4SxCcIa3X2zVEhYN4FvM+f+Q/q+a6e0kBu4+9rZlJwKTALfcjsD0BYIsVGb1Bw3KIA+Jh7w3PJQ/Y3HQ7T+yRu3DwNLr6oANAJ4K1LqFYZ8X8huSU6CW8M98CjhxVzRnpMA53tXgPsfOXxNgruJCRyBbaN1OT/4TmLMWVZyEhsH04q/LpkgQwUba/VZ5MK1m44x3PMjgeJcEk2eEBm2TY7G+EG3frONqSBI/UVcr45Dof2ORBLen2/RKaU7Txgb9/+XbhuHrffu0ef4pboVNrANae1vEheU7/ZG1RvMrVebq7HCGRKAfAJ7nH7csUEl4Z8Dpyx7KdsFn/R3HBSMs+CSN1TIoWUrreA3smbftgfhS772tdZl8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6522.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(366016)(1800799024)(22082099003)(18002099003)(4143699003)(56012099006)(11063799006)(5023799004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UEZ5MUtGUHo0cjJHQjkxS3hwWmxuYTNqUE5jMTQ5MFc5azErOWNnWEZWaklr?= =?utf-8?B?a0ZSeUQ0Y2krK29qVE8zeGdYSlROZlRKTDN6SnJSOXdYdkFiMk5ZYWNjNUZI?= =?utf-8?B?d2Nvc1BxYXUzL3ZjWThvaW1jYkxYblUvZTl2SkZ2K040cWM4bXJlOVBZa0JX?= =?utf-8?B?U3h1T3dsZXFUeitlM0REakFZc09mTnVKR2hnZllrZ0FjbzBFM0o3UGxtekU5?= =?utf-8?B?Z0dLcjI5dnNKbXRBcWxtR2J4M1FiNTc1VDhpYmQ1ZXZtZHlaWFFpVFRuOGVz?= =?utf-8?B?bXdacVFsOTRnZnFOK3NLMFNjdnJJQXZlb0docnk3aElBK3dOMjhmWlgyZTNR?= =?utf-8?B?RC9ocFJXSHlaYWhVR3BZOUpUMW5waVNUWjkzVWlRSnhyZW11cWI5enVpZ0Ja?= =?utf-8?B?aFh2T0txL0xYQXBvQThIUXdiVGFZeU9pd2M0UXVLWWsxVlpEa2UxeUc1a3FH?= =?utf-8?B?aUF0dmIzeTFmdGVPQXlUZ2ZMcm5MbW1KU1BuMGN3U2owSm1UaVQ1UGRBWlIw?= =?utf-8?B?Z0IrdW9KN1RRbW1xOUFNMmdkRG92akhiSU5MbVA3UVFGMVlNNmp6S0R3OUl6?= =?utf-8?B?dWlyRGNFRzd6VVEzZ0FlUUtudm5SaDZWMlNXaWRITDBKNk9tbXBNYXFYa2Rx?= =?utf-8?B?Q3FYekNMT1NaTXltaFlNdGw5KyszYVNZMlB2MXBXU0d3R3FqMVUzR3FqK1hD?= =?utf-8?B?eWRaL2VlNm9GbjNkRTlLajFzQmw1Q01HSDcwWm5yNDNHcEUyQmI3YW9Mbk1n?= =?utf-8?B?aWV3Vncwait4cnpIKzJOQnZSdkRhOW5kbTBGVDBkOXZRclVyLzVxdGFnOXM2?= =?utf-8?B?WGY3WWxyd051U1l1VXVyUUZNTUlGelVsTkV4MDVWUGhwaVh5dE1aVFpUNS8w?= =?utf-8?B?VVdPanVVSWlEaURaTWphOFcwR3pORW9ldHAvZTNuQ0ZmaTUyS2IxUVdEOU1Q?= =?utf-8?B?cm9iZW5QVGJDNTYxbFgvVEFrSHN6djRFcjd0RTFjL1Rjdnh1bm14cWNtNy90?= =?utf-8?B?RUtNNU5XUFB0WTJzbTIrK0w0b1NSWGhraTl4Zi9rWCtVRlkwVlBON2twSFZ3?= =?utf-8?B?UUxrMlRzSy9MOG55SFhuaUxYWXBWMjM5YU1KRUFpUDVYbjhvZ2FacWhlbnRa?= =?utf-8?B?Q1Z5MkpxYTlWancvOFZGQU9scXF1UTBNSVFiY3Fua1p4L2RRQnZPdC80Skox?= =?utf-8?B?cFB6WjZlS3h5QTYwUUJkSUkwUHJDSGdESE92VlhDbGoxOERRQXdMZUVJSDNq?= =?utf-8?B?cDc0YUtxU2pFeEk3bGRHWHJRcyt1T2xLR0M2Ri8raURsMndiaHFoWGp3cm1D?= =?utf-8?B?aWJKdEs4R2hnZmhQNmR6ZGN2SFY1RWNST0ptV3FaWHhCeG1xS3R0VUljcXRY?= =?utf-8?B?dXdDVSs2M3JHeW56UzQ2R3d5dU5NTGdod3hHZ0RqSm8xeGNERUNVblVGWjU5?= =?utf-8?B?TllkWXlFM0FEN21xUXBNbWtzSFQxcnZZeWZzNjJyd0R2OG42c3BpWDlONE5M?= =?utf-8?B?cHlVV2FsWCtJVk9jU2hRaWJ3TmVQVTY3M1k3VGdMWFBoaitwVlh2TVlTUnVp?= =?utf-8?B?bUsrUjBXWmpBZzFndktNL0Mxa2dDdEVOT0VVWTlsKzZiU282cE9JUWVGVjFW?= =?utf-8?B?Skdjbk9HM3BmUEZuMFIxQUUwTjhoS2VDNzBHbGZKZnd5YktzSG9ubUZtU01I?= =?utf-8?B?elhMckhEc1RLVUk0OWJlSmZrQTlyejQ5cWVMUG51RHRBbXhON0hoMmovWkRM?= =?utf-8?B?Y01sQUtTVEEwa0xZN282YU9SU25OSkpOa1Zxa3VBTjU2cE5IdjZTTFB1dUww?= =?utf-8?B?YkExVUUySXRyY2l5Qm52WFdienF6NlpKWTBFUlMyN01FYmQ3V3hMWDVlY0hU?= =?utf-8?B?RzcwMzNhQ09vU0RXQlF0SVZMTUFVeDM2U1FOR3lGVDBCRFRrWitOcktVQVls?= =?utf-8?B?Y2xUSENpYTg5Ni92eUx6azJPSitLZnEzeHlSMFdhcTFVNURJRnFGcXN1aEJW?= =?utf-8?B?eUFwUTRnZEJHY0RCS2oyZ3RzbW1RRjNCTGtZM0pOR09uTjZURzE5ZlF6bCtV?= =?utf-8?B?dXYvY2N3MWZiT2NTZDVvaUJZR0FXamg1UkNjaENMQk45ajNjY2NKRkFEUlFE?= =?utf-8?B?UVY1b1dWY2ZBUXlPYzk2cHpFZzcvK09xRTdKMmpEZU0wVmxwVHpzNFJIbmt5?= =?utf-8?B?WGVlU1JNKzUrSkFXWUFyTUlkbEpKMUFDd21CS1hiMkw4RlFiVGpDWGh1bFBp?= =?utf-8?B?TVJFcnBqR0w4cENSakl6K3RIWDJ4bjRMUzJRMGpVYmdBaXcwUTcyUmxCL0Zy?= =?utf-8?B?NU1aV0I1KzhaTzJYaUlHc2FTRnE3TTQ3WjhKSCt1MnFXSmN0M2J5UT09?= X-Exchange-RoutingPolicyChecked: s0FqEW+I+1nMPtqpfG6u1wpAcbeRltbGIelgLxVcTs0Nx+z0RWZBLAn90oVeTsWTU3eTMt//MSYGVreE6WZsCPbMoQXlCLpok559o0a5R0RE4PuHMyuw3BLZB34JDribER7TAfBK6DPGpwM5VtPBldBHkiJ4yWLEDHdY0Ck9BREJ9KLal3p0/vu8kGFNyZD58lff77qwtlFV42wMwvdvIb/82UeL9tjKzlR/YOVJY3d1HoXWJcSwzS2W8gpZPTT/qwzWl3Gjac8PzXl8lbiDmuRXgxHGyynp8tII56X8ADe0BDk46YgA4TyLbHg82TuLAtCdkShkGCVg/fnUSYb5Bw== X-MS-Exchange-CrossTenant-Network-Message-Id: c781e019-2318-4e42-d7d0-08dee0eff8ad X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6522.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2026 15:04:00.8747 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /PWDWekB0yDIDkgyG4bOTCu7HM3MVE7FjOxT4dneEyzTS7wD+EWUB0JNzQBlg+5xEzVnd5pKI5+dzEBL/1ztqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSWPR11MB9955 X-OriginatorOrg: intel.com On Mon, Jul 13, 2026 at 01:32:48PM +0200, Thomas Hellström wrote: > Hi, Christian, > > On Fri, 2026-07-10 at 20:52 +0200, Christian König wrote: > > Hi everybody, > > > > The idea of ref-counting dma_resv or ww_mutex came up multiple times > > from > > different people, but so far at least I have abandoned that as to > > complicated to implement considering how widely used that object is. > > > > Thanks to AI I gave the task to refcount dma_resv to Claude Sonet 4 > > just > > to check how horrible it would look like. > > > > Well turns out that this is actually a cleanup we should most likely > > aim > > for and I'm really wondering why we haven't done it like this in the > > first place. > > > > Not only resolves it a bunch of issues with dma_resv instances shared > > by > > multiple GEM objects (we just recently had a bunch of patches for > > that on > > the mailing list), but also allows TTM to implement it's delayed > > delete > > handling without any zombie resurrection or similar hacks. > > > > The patch set is totally work in progress and only survives a smoke > > test > > with amdgpu, but I still wanted to check if the idea is valuable and > > should be looked in further. > > > > Please comment and/or tear apart :) > > Before starting to look at this, in the spirit of trying to aligning on > a "final" solution for ww transactions used in TTM, could we agree on > how we are supposed to pass the importer's ww transaction context to > the exporter's dma_map_attachment() operation to handle exporter > evictions while mapping, because that decides what abstaction we should > use for WW transations within TTM. > > drm_exec_init() > xe_bo_validate() // IMporter > dma_buf_map() // importer; > map_attachment() // callback in exporter > xe_bo_validate() // exporter tries to move exportert bo to VRAM but > runs out of memory. > ttm_bo_evict() // exporter's evict needs importer's drm_exec > > As mentioned a couple of times before, we can't pass a drm_exec to the > exporter because that would make dma-buf depend on drm. > > So with this series it would be sufficient to move drm_exec to the dma- > buf layer and rename it, but I still think we should have a plan. +1 to Thomas's thinking here — drm_exec should be moved to the dma-buf layer. I think that would involve dropping the GEM references from the base layer and instead operating on dma-resv objects. Of course, if we want a drm_exec layer that operates on GEM objects, it could be built on top of the base dma-buf mechanism. Matt > > Thanks, > Thomas > > > > > > > > Cheers, > > Christian.