From patchwork Wed Aug 8 09:59:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Huang Rui X-Patchwork-Id: 10559713 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 399BC13AC for ; Wed, 8 Aug 2018 10:00:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2615F2A91C for ; Wed, 8 Aug 2018 10:00:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 162E22A95C; Wed, 8 Aug 2018 10:00:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9ED8B2A91C for ; Wed, 8 Aug 2018 10:00:14 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 554086E50F; Wed, 8 Aug 2018 10:00:13 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM05-BY2-obe.outbound.protection.outlook.com (mail-eopbgr710073.outbound.protection.outlook.com [40.107.71.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id 818736E511; Wed, 8 Aug 2018 10:00:12 +0000 (UTC) Received: from CY4PR12CA0025.namprd12.prod.outlook.com (2603:10b6:903:129::11) by CY4PR1201MB2501.namprd12.prod.outlook.com (2603:10b6:903:d1::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Wed, 8 Aug 2018 10:00:11 +0000 Received: from CO1NAM03FT016.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::209) by CY4PR12CA0025.outlook.office365.com (2603:10b6:903:129::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1038.20 via Frontend Transport; Wed, 8 Aug 2018 10:00:10 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV01.amd.com (165.204.84.17) by CO1NAM03FT016.mail.protection.outlook.com (10.152.80.170) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.1038.3 via Frontend Transport; Wed, 8 Aug 2018 10:00:10 +0000 Received: from hr-intel.amd.com (10.34.1.3) by SATLEXCHOV01.amd.com (10.181.40.71) with Microsoft SMTP Server id 14.3.389.1; Wed, 8 Aug 2018 05:00:05 -0500 From: Huang Rui To: , Subject: [PATCH 2/5] drm/ttm: revise ttm_bo_move_to_lru_tail to support bulk moves Date: Wed, 8 Aug 2018 17:59:34 +0800 Message-ID: <1533722377-27020-3-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533722377-27020-1-git-send-email-ray.huang@amd.com> References: <1533722377-27020-1-git-send-email-ray.huang@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:165.204.84.17; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(39860400002)(136003)(376002)(346002)(2980300002)(428003)(189003)(199004)(53936002)(53416004)(5820100001)(6666003)(81156014)(81166006)(2616005)(478600001)(476003)(104016004)(8676002)(8936002)(126002)(486006)(2870700001)(2906002)(97736004)(450100002)(106466001)(4326008)(105586002)(110136005)(316002)(50226002)(54906003)(305945005)(47776003)(356003)(14444005)(5660300001)(86362001)(26005)(72206003)(36756003)(186003)(50466002)(77096007)(7696005)(68736007)(336012)(76176011)(11346002)(446003)(426003)(23676004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1201MB2501; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM03FT016; 1:BGOqp1LCZgY/NaYaNh0NbenwU7MFNYdqek1HhtEQ9Sz4myaVTZG6oub89mqKaZusLOjl8noaw5hRZotX50fwQxlv5QoL4dSIX2sZcX9KD+09EpkZjlQA5jwjZO5BFZ0D X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 62e35ccc-24ff-46d3-5160-08d5fd15ba8a X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:CY4PR1201MB2501; X-Microsoft-Exchange-Diagnostics: 1; CY4PR1201MB2501; 3:1LAtyuGMoOes5avmYQZDpRJjsxlN/CkA1QfwGSier+bDFt8AQQNOjhIoq+8LYCNNgQ9WbRmGKQgl/kYiF2GWc+E2dDd9D+P9/N0U3QQX5bgFi35WYLp4ZyRdf6w1myT6YboBk3aQZwKQcVIswjEML8It+xS/OdtRuc1WdIUxx2F0y7h0gqNHDWcfsvpFoOgVaGainuUUAF0Pw1CSwRyiXBFbpGl3lGsgstITwbt7u0iKkpWSvCSz7mIBwXMJeh00krXFKdNIUYe5BsJYC552Eu7bP06DZuyibYVAY7Wmp8N3g6vdiDB1zbwZzGwRechQMeDsG8+PXDfZzMCGDYzPzCtKheodSb8LWkvNBZhpJmg=; 25:sWOn1OYEGCzvSKq+016ms5hXkRKupThc+KCqgdo+lEpG8d5z71OKzGxBPTJmfokTokAdulWdt9BIbRKDtxGuMTtgG4jIvKL1rD818IYys2r/kRjxVFFqbMA3/Tf9hEvwsQL5OkNCZS3QexP/q30ZBHD0KPY8CrR88FQ27noN2/Q8zzxTpEBVAtEuuCZVBX6vukbaoULUk7SAypreCt/2WC4EeO4GMTSUyoQvvq3YOos7N7HxcpRtPmemZD8lMKDJwccdkz6Kx7ddBow9p8q7OrqhhfMzj0wDL4cnEj9QJ9elNosjxSgQaAPyx5JpQEGS1r6Rt7jNXoSGzNut6w43Vg== X-MS-TrafficTypeDiagnostic: CY4PR1201MB2501: X-Microsoft-Exchange-Diagnostics: 1; CY4PR1201MB2501; 31:wGuhjkZh+4RxNurL5SuMsdI5dFtNU77i4N0Dh7H8rlEHJu/yuhpUk4tvoc9MBb0MNG7cJQnUOaPuMzW7Xhlrpa1CVmZqAtebp3ptg6ndj7O+d8/k3rf0Xec0WY65DV3/E/YXTjvj2S/qJoX8luN71SpWEmNQRyO3fXPtujhzPxRF5qU54ZyP7GtO8ufXtAJxuehk0DhlvYm9lweDkIwm/U6oTEcXI/7ENWycwg5S7aE=; 20:5Db6wWsWR89yPHiChV+jT3MqyhzgPPe68jWk1jfYRawlBD4U/CVcfmco/h1ifDvybtU8iJaTSl7HyAdDeNQOjR3kxWLP9/r4p25ZP/71IbCYc5x9OIp5d+jalHxlvqBLcMX/9Q/5tDcU0bulTUbs8iVPvsnbxEdzLUBbBtw8EUDaVWT6blkqqJ4+VSJeranOB+8zgeFLk7XvT2KTdMYWKugyEUfiLngyxdXxgeho5m/cpcUBkpkmrURFH8BBgHgajTkxqLr0E6hELFJrfgJL0g5o11JGLCPV6almLo/h6/8nPdFSMF3rhvZwljkajsGac4zV0XLe1EanthryHUvASKX7g78+asKPzlH+c/GEU1SmIPH4iOBBumIrJ3I9SRqq9ue51W30fM/N0hKnroDJulHprGSLLdqcRVFP92YUVEtqEAEVpjnfDIWOFkitQLQrQ4W0I2sDwiWkuRL8uCnVsNfTTDWqciZ3TmbeE3UoHadAWOoQSWBQ1FpM6pcpQcmR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93003095)(10201501046)(3002001)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:CY4PR1201MB2501; BCL:0; PCL:0; RULEID:; SRVR:CY4PR1201MB2501; X-Microsoft-Exchange-Diagnostics: 1; CY4PR1201MB2501; 4:kmrkaO8v/820l1LJfGmNr57YNPQWusM7XGz5Ri5i4sXgebZvdfUpUB2Z3b2cODNReVIFLIl4F3utWJD0fjxtK+L8E07P9QdJdBDLHjKO3FjwsK8vltjNExtDFBa2gYt3BCmriSTABpzDsG63zuUPX3Le7GDmQblTwVYh+BQCXmK0uiHSvO/I6d1axQImeUaccWJUh2oNo7baQExXKaA1CdLotYwZNPky1cxLx20cKaQSCAWHRZwONmTAjubbwlpGjcumqtAHfltGDQvwJoTUaFqdJXrJF+LahFbOdNyDbiTWzkzFulfLdapLFsWbMiM8 X-Forefront-PRVS: 07584EDBCD X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY4PR1201MB2501=3B23=3A6RRtF?= =?utf-8?q?n43Aep9XBCTIP+sB9VR2cLRpFwGQWQlsZIKVq7YWZZY8Lnidtwh9Hpn6mrp1eCH0P?= =?utf-8?q?30M9x0A3ch+VV/+qn7HOgStFwaWGdgr0D7W/brAsFo3SdE98tYqHaOOQR+0HlF45g?= =?utf-8?q?Gw3jufxYxKBycUfqZrqaU1ddlVpDo/RwZO2j44pzM/8e+FQFv2imOa3qmEOvhIMtp?= =?utf-8?q?R4QrJzdSqqhfzdcDOMbRfn4CYtjwPRWPP0Upj/pgzSl2kJmAESSwhJvC6AgJ9rgWi?= =?utf-8?q?g9xWxVAeHznTI2mNe0V6obQNon9pLfEsNlter0Bookm99i8Hy/9t3WkG/I5FOLMyW?= =?utf-8?q?HiWyLWj9qyRCh3irOTHlePCt28WvQ0ldd1RvWZLNHtvUlxV6GkAiT1rPzxHQcrXwn?= =?utf-8?q?WfktplljrOPpJV6Hf+cCLIx6zF7/4DwEWydVylClPmAH3eTZbtCW5Gm8fxm6Zr3Px?= =?utf-8?q?1w4QbpTaPcyAfLP+s5k0pqjzD4vYwXqaaYwPP+HLdCz6NpRJppZmJ+3FlKnkVZrYq?= =?utf-8?q?Y1ogXP+K21PrA5CHrGtyYtYis8uadAtatBvW4zi7lcrhyvz6hRH2bXrsMQfBwNQ87?= =?utf-8?q?uF9ripJwy53hlHNVbkAg8QxGMG61Si1h6ktm5YYXcfsUQo/dItLpLes6olLsrsWr6?= =?utf-8?q?wfDujp3auDi4MzUWjNFOv9m7pvcqE+VqpZOKEKI+UGoYRyjbl8gETlJMmWjZQc/FG?= =?utf-8?q?vhhcZFLHA9DZc/IYpW2zRYp9qBHODpB9LvRr/ujs619SwA3OcVJXXuAyaoWzd21Hd?= =?utf-8?q?oF7NGCFvX0V1qkYul0EKvHv5jU1EmumBUMio79wtc/ex0O/ByuIGud4M8mJXVVvuD?= =?utf-8?q?rd32kDIFjg0i9NKttRCMZ3se48/N8ry0Pg6qiITUKMsVoRkMSDM3Jqhoa1TIhK6h1?= =?utf-8?q?562kZ1F2WifG3AFMtvai2sIzBWRiOXYoXEzq4QfbPF2/deKC3F4HWqAiuM0CaHdXo?= =?utf-8?q?tf4Rqwz8sia2c0ju1fBjVwnkcrT6kbRl5yrFgljMFYztUvTh96afJjJ4TsiUykCo1?= =?utf-8?q?6f0wCSQWTxpssctsTwIrfqAbpMtCEum95jz5gsqn6/gWZUYx0vJBAz4IXOHJ4RVOQ?= =?utf-8?q?v6NsG6nRFo/fYL+2xlL4MWVE9ezxK3nqSFcnAR7wxfC9uS/wvelGQ2QvMirMkxsxU?= =?utf-8?q?DPa7YKnrUXOJanm0oKKZKKhBU//1vYVIi/I+uMfWP?= X-Microsoft-Antispam-Message-Info: KwB9/fWupo1iiiJ01fydYykY9McHL/T5hS33tvszmpn3L3nh716yjZCfbbYiuycsiUcAmkfJozFoFiv49r8OMJ8LabbgJ2JNzZiely2Ca9vJYbqlodj/ymhxB6bCTw4t/GwvkqnPKKw+bzSaocq1USEm8VSYfAVEETMngHaCe3+qtbwDhqc3MpeNRJ6bBlaLDmIzmLV/rBQdVNc3f48If2rHV0ZpgBorLzJpevBb5snyCJINpMQrAXjZh10MbBIBrrdavcmm1yjw2VpqsXIqM34P4Qmfldwn4d/sZhJefgvj9Q5mnUX9Vjb1Xahhc+bsC4y701R83X4H0ApXfraJDY0ZLLdySN+thYJtX90IFO0= X-Microsoft-Exchange-Diagnostics: 1; CY4PR1201MB2501; 6:4i9x7G0eMZrNfuM6o6gWs852Gd0asVmsDpFJGTLWntU4ImPnsG2B/bldCpJ66dLwQZiP8EAAs1F6h3FZd2jsQQHoTtVWLYRkhOlrWqLJAX0aigxxMSYxy1B9z5HNVzG8AEeUOkReHNyerUqR7L0DZrjDdH/qwxVBUBS0TASyc3wOK/v0zP4rigPheJwfpqzhlrhQy2V22bj7sgl/7GWOq0lJxY1u42g8Keahx5/X8I6/udBc3FMxv/3tMGvzV5AVazM2Atw7Nso9OVbnV7aCwbyGbEOEpKMyv12vcsW920PYAwo2IK/RFZfwtIJos4GWzkKobcPaHTYxmM+3HoR+Cp1Ie0s0eMSKhlhkY8T9Q7afJWgIiUfXRK2CvGMCF0t9X75A+FsAo/agFlekdk89eyDhzKQnZDry8h87BZqrExuXdv8Uxx6JQqZWceFfPPNtUuwbwDj2V2meeeRDJMeHRg==; 5:Ks+lMfKqvLOH/jLY2MWKhfARWpe88DbIBx+fMr5vBRZZmL/MH+aQwVeFzsicYK/mpt7Pa/7EKOjO1vQQQbtQ8CWstCv06NBA2oI9cPlRC4qceZoFgkfjq4fUEJBTfXMG6hjaIhnLD+fx4yudu+EQjOQBvrVoYjJec/NAl8vElxI=; 7:ydx1qSts8z7WFcf+W9hB4ZxTL2q2Ni8vwT8eRbNJcyDe/I3fJpYecBUcNON2RBnoXNgfc2mo+vTExC8kV8KMq1ctsp6JEcvSIaWND+jahvFJy5hj0eg3PXz7sao1iScfSdBckCT0U3Hm+4Ec2tNsSdcTIBXq+bOPOto9QGixl+LkNdHxYKLkpqq0Giu77lhF3tsL0vVQO3y5Tly3auCPBZZDugf93zHiD6ZWC87vrjRrJvovj644ErbddMKIgKZb SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR1201MB2501; 20:jhdT57EEirnM7xn7Gdkr0FHTQVMl6/pkM4r+KxODJKuxkFeM9itiaKJ2tUihgYiE2Bqk+mhhTaddyk1XfLt+9jypqfF8pD4Pg0mo3umKGpmqqQ54y4OTxwT2UEpXGHvo3fglEpJFKGRRJKZo0uBipbALQDkhEE+tzwXKy46nag4fvMyYGWMmO3j2NgF+6/TI+DCfG/G1VRKkS1GD09rsPpO+b9AJ4E4ACeOss0ILNkXfsqAjIC131Xo3pNWsWb1g X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2018 10:00:10.6373 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 62e35ccc-24ff-46d3-5160-08d5fd15ba8a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1201MB2501 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Huang Rui , =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Christian König When move a BO to the end of LRU, it need remember the BO positions. Make sure all moved bo in between "first" and "last". And they will be bulk moving together. Signed-off-by: Christian König Signed-off-by: Huang Rui --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 8 ++++---- drivers/gpu/drm/ttm/ttm_bo.c | 26 +++++++++++++++++++++++++- include/drm/ttm/ttm_bo_api.h | 6 +++++- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 015613b..9c84770 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -297,9 +297,9 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm, break; spin_lock(&glob->lru_lock); - ttm_bo_move_to_lru_tail(&bo->tbo); + ttm_bo_move_to_lru_tail(&bo->tbo, NULL); if (bo->shadow) - ttm_bo_move_to_lru_tail(&bo->shadow->tbo); + ttm_bo_move_to_lru_tail(&bo->shadow->tbo, NULL); spin_unlock(&glob->lru_lock); } @@ -319,9 +319,9 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm, if (!bo->parent) continue; - ttm_bo_move_to_lru_tail(&bo->tbo); + ttm_bo_move_to_lru_tail(&bo->tbo, NULL); if (bo->shadow) - ttm_bo_move_to_lru_tail(&bo->shadow->tbo); + ttm_bo_move_to_lru_tail(&bo->shadow->tbo, NULL); } spin_unlock(&glob->lru_lock); diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 7c48472..7117b6b 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -214,12 +214,36 @@ void ttm_bo_del_sub_from_lru(struct ttm_buffer_object *bo) } EXPORT_SYMBOL(ttm_bo_del_sub_from_lru); -void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo) +static void ttm_bo_bulk_move_set_pos(struct ttm_lru_bulk_move_pos *pos, + struct ttm_buffer_object *bo) +{ + if (!pos->first) + pos->first = bo; + pos->last = bo; +} + +void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo, + struct ttm_lru_bulk_move *bulk) { reservation_object_assert_held(bo->resv); ttm_bo_del_from_lru(bo); ttm_bo_add_to_lru(bo); + + if (bulk && !(bo->mem.placement & TTM_PL_FLAG_NO_EVICT)) { + switch (bo->mem.mem_type) { + case TTM_PL_TT: + ttm_bo_bulk_move_set_pos(&bulk->tt[bo->priority], bo); + break; + + case TTM_PL_VRAM: + ttm_bo_bulk_move_set_pos(&bulk->vram[bo->priority], bo); + break; + } + if (bo->ttm && !(bo->ttm->page_flags & + (TTM_PAGE_FLAG_SG | TTM_PAGE_FLAG_SWAPPED))) + ttm_bo_bulk_move_set_pos(&bulk->swap[bo->priority], bo); + } } EXPORT_SYMBOL(ttm_bo_move_to_lru_tail); diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h index a01ba20..0d4eb81 100644 --- a/include/drm/ttm/ttm_bo_api.h +++ b/include/drm/ttm/ttm_bo_api.h @@ -51,6 +51,8 @@ struct ttm_placement; struct ttm_place; +struct ttm_lru_bulk_move; + /** * struct ttm_bus_placement * @@ -405,12 +407,14 @@ void ttm_bo_del_from_lru(struct ttm_buffer_object *bo); * ttm_bo_move_to_lru_tail * * @bo: The buffer object. + * @bulk: optional bulk move structure to remember BO positions * * Move this BO to the tail of all lru lists used to lookup and reserve an * object. This function must be called with struct ttm_bo_global::lru_lock * held, and is used to make a BO less likely to be considered for eviction. */ -void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo); +void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo, + struct ttm_lru_bulk_move *bulk); /** * ttm_bo_lock_delayed_workqueue