From patchwork Fri Aug 30 15:07:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Coster X-Patchwork-Id: 13785235 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E8BD4CA0FFF for ; Fri, 30 Aug 2024 15:07:35 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5D07510E1B9; Fri, 30 Aug 2024 15:07:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=imgtec.com header.i=@imgtec.com header.b="f0BXo5kX"; dkim=pass (1024-bit key; unprotected) header.d=IMGTecCRM.onmicrosoft.com header.i=@IMGTecCRM.onmicrosoft.com header.b="QC4Usvf2"; dkim-atps=neutral Received: from mx08-00376f01.pphosted.com (mx08-00376f01.pphosted.com [91.207.212.86]) by gabe.freedesktop.org (Postfix) with ESMTPS id 917E810E1B9 for ; Fri, 30 Aug 2024 15:07:33 +0000 (UTC) Received: from pps.filterd (m0168888.ppops.net [127.0.0.1]) by mx08-00376f01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47UCc7KV004246; Fri, 30 Aug 2024 16:07:21 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imgtec.com; h= content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=dk201812; bh=/4SghRQjJA23TrED2Dnut9pJN +AtQa8o7GFfpUKhlAU=; b=f0BXo5kX8mqNIlR3ikz1DkspuZsAzzFIj1S8bja4o /XZt8KQH2duF8A34I2fwaeO7ekCh/9aQ7OOwxAin8jSLrGwpfyI1OWTZL+ncnlvE kKO94FZ75ZVsIAWA3K9dUp+V+jhOt0/og7AtJjkKJGxLmDcVi0Kw/q40WCcEt7/I JGWRYNFBhGAS5fjJ0ZwnZwuj/JuTI731d5WSBI21upZWIGv/lZCbprmRbR8IevmW 11c889qj+sm5il6wwZuokZvZ3q7Xxcej3iVaGD3Wuw7Rq6ZHh9Z4WDD4RkJIyg+N 6dbKT13sEM/XMl2e395Alg3huAsAe7MhwKqIK3pG5IoTA== Received: from hhmail04.hh.imgtec.org ([217.156.249.195]) by mx08-00376f01.pphosted.com (PPS) with ESMTPS id 4175ss4qmj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 30 Aug 2024 16:07:20 +0100 (BST) Received: from HHMAIL05.hh.imgtec.org (10.100.10.120) by HHMAIL04.hh.imgtec.org (10.100.10.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Fri, 30 Aug 2024 16:07:19 +0100 Received: from LO3P265CU004.outbound.protection.outlook.com (40.93.67.0) by email.imgtec.com (10.100.10.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37 via Frontend Transport; Fri, 30 Aug 2024 16:07:19 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hU+6Y83rZtUzWJZqvaF9nzEu1yYATYaWgWeoBvXZY7fggRdsmEyIzIncKcjI443cxFmi2Y8ki9XTQR6Kw71rnDiWQys64jGHENCTYqpLm0w24vPGsnpLP+P6YJOVlch9WZdxzs3lp/MoRJyyAXFz5Sr6WSnfP0jAVoG3Zw5Sib1jIpV9S3YTyRgwxf13QpjHeY3J1IiE/9HJ76twNhsTwfknh+vpw8Kjwt8tYVovMVKv0UX70yQVfsRnLB9tIr1cBDcczXv6CtDU7bCy6r8e0TBByOx5Y7D/mv2Zd2mSFmREiaK4SthHinlI4gWTE5RPWhxqz43oSedj32AF+5EUjA== 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=/4SghRQjJA23TrED2Dnut9pJN+AtQa8o7GFfpUKhlAU=; b=obeXWmC3gzmT6t/wkYaZhOchs5i4LUe17Trv9lPcBH5t1O5KKeEcsor3I9ZOeyGZAdc9Yp8Hc7SM9GQruIR9v9R8ag/S9BB9B74ZWIfMkrdMqhn/vI4s/r98CncLndy3SkXBB9VoqZ2/6LbSK14OPL7poiGxVSstsTLR/ENDuf6OWI2mJ8v+Qn2m5jLn2KBnijk7+jPyxfXjUbjCSKDIB934L3xsDj8E2pZrVKTC2HvKvUyze153tJoye05kN+s1V8NtZ7sRyBTOEyjzGO9BOR2bXB7OWYM1+/EmsYQ7owCzU9rVc2cdroKYGJOCOOmf4W7yUTEHpgyrao7awNXdpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=imgtec.com; dmarc=pass action=none header.from=imgtec.com; dkim=pass header.d=imgtec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=IMGTecCRM.onmicrosoft.com; s=selector2-IMGTecCRM-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/4SghRQjJA23TrED2Dnut9pJN+AtQa8o7GFfpUKhlAU=; b=QC4Usvf2Pw2umw3QByyNnHK/lTDBxxR+ff8do7Clj8/7Zv+ZsTyIk7ZC+tV1rFd89BjIU5iLZTwdYl7CLhVqCdwmX1OaPqHH0RAiR9EpCmdKXzCatFxo0iBZ2hNyaobmMKJuiwS03MDLK4TFCnM5cUbzK9mKbwmBPcdxgaFMNYU= Received: from CWXP265MB3397.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:e7::8) by LO7P265MB7800.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:413::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.20; Fri, 30 Aug 2024 15:07:18 +0000 Received: from CWXP265MB3397.GBRP265.PROD.OUTLOOK.COM ([fe80::8e9d:6b2f:9881:1e15]) by CWXP265MB3397.GBRP265.PROD.OUTLOOK.COM ([fe80::8e9d:6b2f:9881:1e15%5]) with mapi id 15.20.7918.019; Fri, 30 Aug 2024 15:07:18 +0000 From: Matt Coster To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Frank Binns , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: [PATCH RESEND] drm/imagination: Free pvr_vm_gpuva after unlink Thread-Topic: [PATCH RESEND] drm/imagination: Free pvr_vm_gpuva after unlink Thread-Index: AQHa+u5O/u8rBoZPnkmBNlko2NOpjw== Date: Fri, 30 Aug 2024 15:07:18 +0000 Message-ID: <35867394-d8ce-4698-a8fd-919a018f1583@imgtec.com> References: <9f26a943-1573-43a6-a919-d6425d9df34e@imgtec.com> In-Reply-To: <9f26a943-1573-43a6-a919-d6425d9df34e@imgtec.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CWXP265MB3397:EE_|LO7P265MB7800:EE_ x-ms-office365-filtering-correlation-id: b0c7d224-349a-4539-5688-08dcc90570b0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?Cdc/jdUW1iLWPRxZGJDw1SvZ4hLLCc3?= =?utf-8?q?tJSfGQ9anaCwdMe1gJ8ODTLj2rCGjU9LF2KwWzIYrUrmdtMxdszOKFMQrik5OFveN?= =?utf-8?q?Iv1fPtB8+N9RUOi8Fs9lo8VgAVt5846FrP+lV2nU8wMDk3ctpBWG48csKrZnXFaLV?= =?utf-8?q?iD1/uAZzX+iTkS4Qz6taSW9AlcAL/P/11+px0naUOFEjwDaFs8ytTxjuz1xNDvR0g?= =?utf-8?q?1XwZjgxJ0N2t5yqkplyBlJYZc7xAiJiAN3EOXMsRIo3gmJKy6AcegddA29WprxwJJ?= =?utf-8?q?edQYQJyioxaENtQOedmxsrfexZ4Xcclj1sUtGOwTgbIhrYRaQC7ZpeYdFKAelKfXa?= =?utf-8?q?wHF0WAJsURWfPPg6j1aJvmM/SGf++Y0mEwTkR/HSqt5Eie4s1HiLNaYzY8BW4Gn6T?= =?utf-8?q?OYXvxTg+9tXvXODSrml+CiEo7I34xEzxUw904UMZ15znKgXyUQUcBcjP1/TJoggSc?= =?utf-8?q?EgvYTDKS8hxLEtU54bwfQ6o+ZKtkNVuPxC+EtnxDogBiNLzoUGLU8j1FJgPYDhZVT?= =?utf-8?q?rDTZ8fHmPPuHPMz8F2BE0YDKCRNZCFxxPKh1mQT5ncoMtD6RSHwOALzIceVonG1rD?= =?utf-8?q?+CyHpN6inmK5T9zVDF8HBGFsOZhkSlh6L9WMfNpSPA1HADIOXNTlVQfKmuSMQYk5D?= =?utf-8?q?36GNkiEP8VWZepeO1MI1ppimvSZkNhQXF0wh3aQVJSAWyaI3I7oir93PbIyX3O+DM?= =?utf-8?q?8zo2Eu7eZEQvFsNcTnJfFFME+BHE8JdKFCCV5PzXXmMbQ6qRSYZTzKIhkRwc5VXiM?= =?utf-8?q?Sw5IeWCFs2wrkTQVkXSojmYlk2ZGXm8tVVohgJ8ULW3oVbLWX9N4JEHd6rmPOgiFq?= =?utf-8?q?HJUVld/zpsJQWuz+5xLZoFuY1mz263BtNlNn471ZFCIsKQk355Giy62MdyMm/txyY?= =?utf-8?q?WpboJTGiAQIWwanrSFlPg4q29iiiOyshNfWM4PoGKTgSzvuSO2qBEv57I554WV0op?= =?utf-8?q?sfbYePO+yacLao3innkzb1ycZ89BaAzrA3smznnX4xj6vWVGvI1ccW1l0UOdWiPCM?= =?utf-8?q?Mrcr1o7pLbLiY9tckacKGwUHK0CdIbGk5ss/R3a/KCq2IlJ2v5PZeVYPxLrHl0P2j?= =?utf-8?q?6SfHWEH8aTGp272P/Ctsk+ZsSADXLndQLhbxUJLi+7ey32axkZh+wmYTigGeKMTzw?= =?utf-8?q?fx2g3hXWGpX1wY/ZxL15tH9rwVO6qiWxrk5vqqJNMEnOf5IbV6rI3a4SWo168HJ8n?= =?utf-8?q?SzGfnno+/bfvM4xUfWfQHdQtplqIt2fZ0S7g+dMr0HcMS8he/Bbps5w1KKCDENhNC?= =?utf-8?q?MZSB6omzlTQ3sAoDRswRBsSRMnSMmuBJ7KZev7ZDhyBMQoI5zfXIyILVSm2EDytmV?= =?utf-8?q?ZJd7FAPkvR0G5vsAUo+kdMzZbwLGdYKyNw=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CWXP265MB3397.GBRP265.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?3uIAP/uWLqSAHW90PUGK8lYZNwpI?= =?utf-8?q?8tIopO21QCw1U50DCjBjdRXct5IQOKr/T1LKXc+jookkFw0WcE50UVYUrGxlMg4+J?= =?utf-8?q?Hf3l/Xt4PyxI3gb7LdrtrZxmwN33aGL13xojheghTiVBSLCH79BupgvF++lhNh604?= =?utf-8?q?74suRUCy1IXUi4+SHUQ2CakbxmZpsoXPtfVVSP5vM6u87QxMvi2WhStJK1aQstbjR?= =?utf-8?q?FHrj2Fsqbt2/ZL3K018xe96X77q5h3NA4+510EEbHnfzVIMk5/HhkZNHok5zyYzpZ?= =?utf-8?q?d3S1I7v7HMRvuzZVkTQhfKOd9TrSDaNciDOzl6nuhtYx9aMaRwtH1jBo8OSzxHKF2?= =?utf-8?q?Jgw4MELR69QsqjklwRIyYnPxvBmvarKa7xnWGxwhltFTmGXMQ4h/QLiSgxL3fRp3A?= =?utf-8?q?oHuYbhuz95uWujEbcxIf4aG7v5kVz6OkDm/BzBPCcYiLhXvzA3p6+PnCsUyB6GQQ2?= =?utf-8?q?FSbbGDBgf/Us2NHCTMSu1YB5nSnvKYgStoBnpCrSJv1qgllS8lTD+WFgLlMn+hDeV?= =?utf-8?q?SrhraBZZ0lYQ5/XLDEN8618MqdUSDxeHJxkdKwW49gafossnuhYCI68DaZv4d0PS/?= =?utf-8?q?RcWP9Yl4kM07cWj7tgE7/kp5Yrwls8uMLyCcsXPyEYdHLdc8ebxuLGC6Ovw1PA4nS?= =?utf-8?q?zfQs8rn9ey743hVD0VEezP9l30ajXLNSE6I2A931h7NWjWBTQDeUisDwwx4qdYqxj?= =?utf-8?q?xFND6SoRa4M/4w9YGLjqxDyA0Pq58WDZ7M1lDEuVo9fLirDwpDaXPwWR5AvOdZ12w?= =?utf-8?q?M/hun2wZQ+Nq6xsh7jjqBP4seRmSPe5TchyWeO93DmSifO2cofUTgg2MhvmEhsSNh?= =?utf-8?q?1QuVXjdNo2lvjPwBdbJU0b/I0vCdLanWAzCpBaJz3eOnUZolbQUg4JdeSnXmGc27v?= =?utf-8?q?ucYTWtuKXCo48ToYi/ZMr2h+ROV/hsObQcJOmuab4X+42x6Qan+9L4+9teFeuSaTz?= =?utf-8?q?szjWpqWjWrESIwD/Gc9/FmmqXfQ1eQ6ro7u9CJoveCjxls60BlQOM7Yn/k0U1ZCGT?= =?utf-8?q?JhZOo3JxbL+HbC7GfOk368lCEx6BuLFPAUe1/TOtyAm1RZxQbGF03DZpXHGRUjUM0?= =?utf-8?q?7JyJyENtz4IzTZfmY0SzbML96QHLU+7LGEX8jGId1GFy2Kj1zoHVB2k0pYI4rl3vu?= =?utf-8?q?tTRuBqfZvWTXxXK2JUZYmN/iwZUiFPgvQXtnVFSrwRzcAihDXhKalRmJQ4rJoigxs?= =?utf-8?q?L3bsg7JtVP7kdxYPr4QjHKfqqEso5BzFsbowjKwgBBaTIovMEmq+MBIIWMDJwuMGv?= =?utf-8?q?j4sm91m6ljw/TA/JnrfisrE6nZwp8kPoPjnyEIR0fhLHI6U4CWg7npdbH9ott00Rq?= =?utf-8?q?B9kG2kfgUI+YzGxj0SgpkR7E83KMF5seYNqrlQelNf28+nIUqdOHQ1jVn63NzNipb?= =?utf-8?q?QLlTJyMuvvHfIqvr+/N/O1t4yOzb60FDRK9CsL+F+5hi9unw1NlQ7AVTaKirb9ZRd?= =?utf-8?q?/Tvy+SfGftHBbyRRhI2Ay+m6TPm4cmAMi3S1CvFGF0mrYw1rN8ek6QBrUzKrkvUp0?= =?utf-8?q?iujlbwCS/bYjg8JQkBKkVv85Mn1E97Nm1Q=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CWXP265MB3397.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b0c7d224-349a-4539-5688-08dcc90570b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2024 15:07:18.1981 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d5fd8bb-e8c2-4e0a-8dd5-2c264f7140fe X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZIK3JuzL9SehEzlElRjJWfmaVk20QvRW5W38jWUXBUwOiLhzUn8PminSqYw/Sj6MdqwDJXfnG8zM5G9qcXf24Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO7P265MB7800 X-OriginatorOrg: imgtec.com X-EXCLAIMER-MD-CONFIG: 15a78312-3e47-46eb-9010-2e54d84a9631 X-Authority-Analysis: v=2.4 cv=MeE+uI/f c=1 sm=1 tr=0 ts=66d1e029 cx=c_pps a=6IdplsTJodF3+aqeaEJcqA==:117 a=6IdplsTJodF3+aqeaEJcqA==:17 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=yoJbH4e0A30A:10 a=WnR_qW7rlZcA:10 a=NgoYpvdbvlAA:10 a=r_1tXGB3AAAA:8 a=VwQbUJbxAAAA:8 a=5cLMoERiDscuWAzwkZIA:9 a=QEXdDO2ut3YA:10 a=XlWX-oXg8HAwOG9o_2MA:9 a=FfaGCDsud1wA:10 a=t8nPyN_e6usw4ciXM-Pk:22 X-Proofpoint-GUID: -38OLcI0SSdXrnDV13JWnLyVFCMXGabO X-Proofpoint-ORIG-GUID: -38OLcI0SSdXrnDV13JWnLyVFCMXGabO X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This caused a measurable memory leak. Although the individual allocations are small, the leaks occurs in a high-usage codepath (remapping or unmapping device memory) so they add up quickly. Signed-off-by: Matt Coster Fixes: ff5f643de0bf ("drm/imagination: Add GEM and VM related code") Cc: stable@vger.kernel.org Reviewed-by: Frank Binns --- drivers/gpu/drm/imagination/pvr_vm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/imagination/pvr_vm.c b/drivers/gpu/drm/imagination/pvr_vm.c index e59517ba039e..97c0f772ed65 100644 --- a/drivers/gpu/drm/imagination/pvr_vm.c +++ b/drivers/gpu/drm/imagination/pvr_vm.c @@ -114,6 +114,8 @@ struct pvr_vm_gpuva { struct drm_gpuva base; }; +#define to_pvr_vm_gpuva(va) container_of_const(va, struct pvr_vm_gpuva, base) + enum pvr_vm_bind_type { PVR_VM_BIND_TYPE_MAP, PVR_VM_BIND_TYPE_UNMAP, @@ -386,6 +388,7 @@ pvr_vm_gpuva_unmap(struct drm_gpuva_op *op, void *op_ctx) drm_gpuva_unmap(&op->unmap); drm_gpuva_unlink(op->unmap.va); + kfree(to_pvr_vm_gpuva(op->unmap.va)); return 0; } @@ -433,6 +436,7 @@ pvr_vm_gpuva_remap(struct drm_gpuva_op *op, void *op_ctx) } drm_gpuva_unlink(op->remap.unmap->va); + kfree(to_pvr_vm_gpuva(op->remap.unmap->va)); return 0; }