From patchwork Mon Aug 13 09:58:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Huang Rui X-Patchwork-Id: 10563967 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 1F1CE139A for ; Mon, 13 Aug 2018 09:59:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0AFF828E22 for ; Mon, 13 Aug 2018 09:59:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F2C3328E50; Mon, 13 Aug 2018 09:59:55 +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 8EB8628E22 for ; Mon, 13 Aug 2018 09:59:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B6A7B89E11; Mon, 13 Aug 2018 09:59:53 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0089.outbound.protection.outlook.com [104.47.33.89]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6411089DB9; Mon, 13 Aug 2018 09:59:51 +0000 (UTC) Received: from BN4PR12CA0002.namprd12.prod.outlook.com (2603:10b6:403:2::12) by BY2PR12MB0244.namprd12.prod.outlook.com (2a01:111:e400:585d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Mon, 13 Aug 2018 09:59:49 +0000 Received: from CO1NAM03FT006.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::204) by BN4PR12CA0002.outlook.office365.com (2603:10b6:403:2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1038.21 via Frontend Transport; Mon, 13 Aug 2018 09:59:48 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by CO1NAM03FT006.mail.protection.outlook.com (10.152.80.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.1059.14 via Frontend Transport; Mon, 13 Aug 2018 09:59:48 +0000 Received: from hr-intel.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Mon, 13 Aug 2018 04:59:46 -0500 From: Huang Rui To: , Subject: [PATCH v3 2/5] drm/ttm: revise ttm_bo_move_to_lru_tail to support bulk moves Date: Mon, 13 Aug 2018 17:58:48 +0800 Message-ID: <1534154331-11810-3-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1534154331-11810-1-git-send-email-ray.huang@amd.com> References: <1534154331-11810-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)(136003)(39860400002)(376002)(396003)(346002)(2980300002)(428003)(189003)(199004)(106466001)(53936002)(105586002)(336012)(97736004)(26005)(316002)(77096007)(68736007)(2616005)(356003)(476003)(426003)(126002)(305945005)(11346002)(446003)(86362001)(5820100001)(2870700001)(14444005)(2906002)(36756003)(47776003)(8936002)(72206003)(450100002)(76176011)(478600001)(23676004)(8676002)(104016004)(486006)(81156014)(81166006)(186003)(4326008)(110136005)(50466002)(5660300001)(54906003)(53416004)(7696005)(50226002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0244; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM03FT006; 1:mTAqKzvFjRTk2eRBKfgTRIq6fQDQdddGrXDxsNK4Agjv2eDj2wS0jrA08fWHTe6VduCzp76YJ0yutLFPCyHiJARVFb1MjsItmq+15cZF1RHocXlwKrZVr1JwjF3Na/kj X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc5b8f28-6685-4184-b0a8-08d601038141 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:BY2PR12MB0244; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0244; 3:FICOn4r5hjFhTBoGz3tDJVmfi8D+XwC8w44APUfDhKilgPkE6Td3oalorNCFMJAzYGpAX3rw/zBdaq2txoHYPMyOagbTyKjevFtc4Kz3KVVJoNoJta9MGpvQMGPHQEHfSoYb9K3gzzXDQaq3WAEPVY49GUqatzgSp68VSCw8J6J2HsFBpk7EDac187jTA8QHWyomCmLgrkMNFR+jflN8bOBMmwT60zzyPz/AeAb0nq7se5hTTi3KaaaTDljkK72zSsJc3NIcpxaCYF1x88ES8cFkHy7Pqz78wEBBGZCK3CUJzqJK70zbZp3RMszl0sjddHmwKzKYUcrThclqoyaFTpAbbcUSQTwSC+4OAXQa2/A=; 25:GN5cWWmiIqA09JtGGO0xlFOecaD+jly4EsOze7jBsPn56Q6XgLLiAXfApqCK3CMszjDtpmTjKKrlmUfBGAvN5aIvMEKsoataWIYwIO9pjvYIysgRBJ+jWvVXi82s/cRK7awZxLbW8NadWOEm0/D7L5toBDw/jsTIlNqRj2oHB5TlQSTLnaBNrdbWKhcT0+Zei/c8e0ry79fjVMU0A1VvyLsDcuCioUVkMVy52KNKdukHCNDVaX7NBFrq4xKRRZFvLpnp1RlXcR7iUDcyD2NRXbW6/jXsRl/bAVX1rwXkovm46esrR7LyC5MoTWefd0ePWSqW7FYAnD3F2tPpJLDWhg== X-MS-TrafficTypeDiagnostic: BY2PR12MB0244: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0244; 31:heVxQgbsln7P013pOWYqF+HO1j9AYBUKziWSX8dbbb+YsF4dO76o5xfRg/CdTfX/XNxPgRgZIA9W3Ux72cu20THyTC1AzGZt2Xdp+ol7M/2/hu0e+lYr+ylLc4ZgVUqt9/BsoUoYXiq2/6Nov3cKXR8SpLO6W44M7KaGd58ju87pPyEXSYzKmZIrrhUgPxy/y+5HPc7Ihz2qyF3ySIeZu8+sBFMJqvck9AShfRQA8Ow=; 20:oB7UuDuPJ+tQZofIUGFn5DMtuFlUffhC2z2VFmah2Ivh0YZVd3xPWuApgqDJ/NxH8HEsq84l4ugNLMwLP/ovT39DUdnAzttIn6zLDNqeobaRpJg+52S5FgYwMdGuiULZAMClR8jzS85tb1NmZkKgmZd13kLwr2FXwkxU6WyipLSy2NoxMRou5PqQKbV5E7O4d7su2AttDxyccSK6Q6dy9kBa9r5LVHS9Fq8qI6V5aoBktqXBTFY/vuDA9J+iP5s+U0XKe8+3+9VkJsb40OyDmFYzuQM1nkiRQAjWusjzjeYS3JXDclKmR5L0o1BKUIeabcTUDvc8AZKNDreNm+U3gR/wSbs1frcxdZ1R/2kKtHwH7UrHyNDekJVNi7JX7wOuFp5yUsnDicnmsFVm7UTC7pMD8nVhmlpVKaBRod2rV2mfVjWWEfspvgl721ow0zmP2+2tw93b3yyYjlQzItmzvjn7JQ9tVEl4wuyqNhWT8LSFBDVVvslRfb5N5XioDX3S 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)(8121501046)(5005006)(3002001)(93006095)(93003095)(3231311)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:BY2PR12MB0244; BCL:0; PCL:0; RULEID:; SRVR:BY2PR12MB0244; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0244; 4:F3U0zr+3olSFdC2kvr5usUE55AHPkpBbgbtG194m9qgtWrXcyw5Od3WH9+f2xRyR6Vb98nguf6P+a1eFkezEWOBITfHsDOfcX7xLBj5c/hYW5uCG+NfN1CKEJu3n/1HllJ5kPIf+iNBEy9cDZcwGus5fL1eB2XH+byqCY/SgNeUcUmq7RsdE1povIldXMGgDcE9SFF0NSUVO6EfAZcCi7mCPa9QdcExJbkNeG8VE05g2IooWC9x2u5LXMDVsuu7xV7mVIjba2pxbDKAnMHxejMDi2c2Jzu5tDQOrGrteMfnVyZ5W6oI5qhjLE4rgomzb X-Forefront-PRVS: 07630F72AD X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BBY2PR12MB0244=3B23=3AZzyDehl?= =?utf-8?q?iNg69bYn4vwvgd93nELMotii4LfWmz9u5JWY40+rIwDFniJ9BaSiMUgxKZH2zhLb8?= =?utf-8?q?GOlpA7Kjb9UzCtEFyurWtBgXtqHGUKkMlalwk+ioI4RVjkN3Asp0s39EU34EiTQg8?= =?utf-8?q?QbID+EOhr9t0zb8Fj6VhnbOP18QVmi+sozzqMUswXN/POGixADm3g/cjEcCyxFq4P?= =?utf-8?q?rmvtCHG4/3CvZeZlkKH/l+QeHFc7YhGN2bjw6wi2tmo0U3nTQCFONac4hpsMx9dyN?= =?utf-8?q?RGgnGN+9g3njpUfI+1vlU46pgQAuZiCHLCqldU0H7XNEZabE6stS83CxvEQdcpie1?= =?utf-8?q?Asbz+wFFElazOkrctw1aKzHbuVpsGHAGsZlW5sEnaQbOFaXWfFq/+I344BiVXwzmB?= =?utf-8?q?HC8z6RwIBzzX/7TPhpNeehd9tGapTP4zApg/vMLpwpIB6/AL5tceaXKxT7y2L9erx?= =?utf-8?q?rLs4TnFOtah4QK3eqP5RrmAtW3asVsfCzrC+6r7sH2cqTc5TEWm8LQD1ExgPzLoKq?= =?utf-8?q?mWW4ARAEOZJ6itX1+dB6Edx0YcLi0advNIeYm3X1KZQQGrrlTrpUWxh/yNqYrfcVM?= =?utf-8?q?P06r10dLFlHDZWL8dNpEy5XPtV/ZhwzokR6GbkdQeaTisxO1lVwA7q14+xkvxEH52?= =?utf-8?q?UKvHwpQFxCJA0AYs4uXlaukwXEIJkh6wC34YBqWjqJ0WcVppaJc8clPPNWtMt8ehi?= =?utf-8?q?8YmnkWNWFtnMmVGJATrfKsCKAraMsyj6+k0ZoAskJGr6xqC8RFZeKndza7FSbq3ex?= =?utf-8?q?VCAFOQb8y7zgwbuoXKGfnDDssxZYD4kmTT+p32jlzOlMy92WAkE1uz3Vfa/SNPsVi?= =?utf-8?q?qbhd/ojQGSiHJez6+DcOExhrWxasH5ZPjU3D5P4w3rDembZocU8jR+A8HPVjh+t+d?= =?utf-8?q?OnPEaunNYZs6rTe5tNfG0k5RKN+NMrH8N92DbX/ZVJ+oXb7eTCMJQDE/fa/ZYBiue?= =?utf-8?q?dESn60jHGsOrExZQTryHRZruZ3wIxRzNmElaSoH2akpv9L1c7EjJtF79cVMVp1rO2?= =?utf-8?q?YuoqOhqtquzb1t2gmckpVn9dGwuukCqeTvcGxFXUfSS+BPv2aaUFwuSnjInqMIBX3?= =?utf-8?q?wChXv4z0c+Z/3DnMa9wU35NjKGlpONFeRgInIM/x9Z1vHoxtjKebrSv2FLZWo5B2v?= =?utf-8?q?bOYXC0p685ELueDu40=3D?= X-Microsoft-Antispam-Message-Info: SenQAa666PGHuVzZBZrSxdIUmBDHwc4ILqPbK70mizhtGG8eU3Xmdl/oTrSJI0iQb5oehYGjZW0tzkP8ZQHGaTongXrOBoqV0LrNaFQqTtxSGSAo1BkZZMohHrO9VSWP/Td7QPqegU0xHgAsP9eNPmhSCjMxvubSBjT5ucYnINvMcwikG8pfyXzYdmyAE1nB0lttgpHPgzwj3hGOy8M4EVX651LzLnE5tUQVvHc/gA5S2Ev3QvOgJ3Qzp8hvWQGhWqVMI8k+/IoKDYe0jruDHVxQ9G/RpEE3wuBXLqk6aU3vH1hwPCcMFbXGgu8hgQ4rYbfhF43IzXKGS8o77YL+Su08zNk4idzYR9stWF31yaI= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0244; 6:xeQZ1ue2F/SYttwEgbsEw2h40PhILQRdUurt/o+SvWp8NjHHabcTHh9a6zysinRAVyLa05cLv76oEVptV/XqzrY5mh5fwAaE830n/O40bHh2wzwCZXkLh2zW7XXdjOAq24bZy+X2RWPRhNq+Z/CVYZ9g2V0rHtNEciOl5k0D7esTWsKbCIY3VLNvmd/2zFKyU6MGNhLCrrZhTtEcgklhwXn+qnL8abSKgmkfAxcXSzqp68F4mu0919d0mlcCEq5r2HtonLGGliRayt9n8XrolEdg7VxtmZ+YOze7JpKbq0yq3TFU7NSK6ZX18z+bVPvTLg+Vn/ff76mhzyPa00mQc+2g0FnIcJUROn6322X8OitTFswQwqbrIke/uWkUePopdzNJKBa2FUNsjTL9qorPHAyWPQel+69E54EG/wIR0M0VsYE/l7HaCLorLsTzCeWCS3SvkS8b2/RSPfTmwP2p5w==; 5:OT7WyEZmQLs9YAt67OGt/uw3HFn5RdFMdqkdyXAI6L5lb91Gd6iR6Jizq+9AEgRvBKUdmpJOQtY3g9gkODoCq7M1oQhHriC+XW0SppqApiGsqRIHXcO71XWfck8IckECIUB40Qy4BD3TB0P96DbmO9GImxBHG+hq97IDzVAsZSM=; 7:3KHItHaeJRGSmdgTbTej43zrQ+W7ZDJnAavZuN45uqgZz9JuRINlQDXJwABIG3YMQ92Ym73Kib5aJHZ+U7Sn7w1CV+bSay+EYfsIYqnRpNS6DKgdag/72QymRnLIuOBrNhTqRNbdr44Ie0MJcFDH/df6Wqn+/i52oLtjUrC6RGzHbFbBGgQ8qnu3Sa7HaN4hcfcHhWkDIGd1+4vX3Gd3WikgCVNeWY6ciyJ2OngJOgH8Q83QJGRu2PHL7N6AbamW SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0244; 20:I1AzZCoxaPIgwnHzU4bD3Vkbdw7egvhYVLG7bhRdJXRkffaoRt/OC4m2X31dxfiYLu163jka1N5tjTdHRD7tJtmAnF7r8qWVcgktn/7mjjy9Ksizu/laytqyG9S47P+gE5DurAYs2RXsjHQLkZYesWD3wJrocrcELPDz6PuyMJglzWkjnor8GU3h9p1+mnCmlfqUM+LB3qywqgNvaf1FU/oJeDPNn2LilzL0JQqUK5NfP7s75UIFSpyFsa/qfxyA X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2018 09:59:48.2084 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dc5b8f28-6685-4184-b0a8-08d601038141 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=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0244 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 Tested-by: Mike Lothian --- 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