From patchwork Fri Aug 17 10:07:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Huang Rui X-Patchwork-Id: 10568567 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 17C211575 for ; Fri, 17 Aug 2018 10:08:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 066262AFC1 for ; Fri, 17 Aug 2018 10:08:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EE8CC2AFD2; Fri, 17 Aug 2018 10:08:27 +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 635512AFC1 for ; Fri, 17 Aug 2018 10:08:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7CA6B6E5F3; Fri, 17 Aug 2018 10:08:26 +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-eopbgr710054.outbound.protection.outlook.com [40.107.71.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id B6D9A6E5F3; Fri, 17 Aug 2018 10:08:25 +0000 (UTC) Received: from SN1PR12CA0013.namprd12.prod.outlook.com (2a01:111:e400:5174::23) by MWHPR1201MB0128.namprd12.prod.outlook.com (2603:10b6:301:55::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.21; Fri, 17 Aug 2018 10:08:24 +0000 Received: from DM3NAM03FT006.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::209) by SN1PR12CA0013.outlook.office365.com (2a01:111:e400:5174::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1059.20 via Frontend Transport; Fri, 17 Aug 2018 10:08:23 +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 DM3NAM03FT006.mail.protection.outlook.com (10.152.82.121) 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; Fri, 17 Aug 2018 10:08:23 +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; Fri, 17 Aug 2018 05:08:22 -0500 From: Huang Rui To: , Subject: [PATCH v4 1/5] drm/ttm: add helper structures for bulk moves on lru list Date: Fri, 17 Aug 2018 18:07:57 +0800 Message-ID: <1534500481-15123-2-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1534500481-15123-1-git-send-email-ray.huang@amd.com> References: <1534500481-15123-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)(376002)(396003)(346002)(39860400002)(2980300002)(428003)(199004)(189003)(486006)(8936002)(86362001)(11346002)(2616005)(126002)(104016004)(76176011)(106466001)(336012)(110136005)(54906003)(356003)(2906002)(305945005)(36756003)(2870700001)(97736004)(450100002)(186003)(316002)(4326008)(7696005)(23676004)(77096007)(476003)(426003)(446003)(26005)(50226002)(478600001)(68736007)(5820100001)(50466002)(47776003)(8676002)(81156014)(5660300001)(81166006)(53416004)(72206003)(105586002)(6666003)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR1201MB0128; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT006; 1:zjrSA4+/VcxaCMTkklKa3HrYFCG4PoaRGGLFpUyoc7uDF6T6kd1hL6Kpm5tQQxkB94W1+K6HOXqgSnRz2Nx9FOEku1RITo6MeR3569ybIGBBlJ1iMHB/20rxXQOq1Swn X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69b322e5-b878-4705-94a8-08d604295e40 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:MWHPR1201MB0128; X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0128; 3:7RvB91IBcQRAQWQbsnE5aq26M5TheGaXipxHHhtQXOIfNxpZuY9L6dsPgrZDG7cCOXwg7tkbUKms/h5EJKVYvMhEkLvelIhHPdIsLNbp2ZI3SzsgJoDdKB5Kw3ZvKCQVAQVURXUctpUFDxbitzzOKA7S8c9YYju4tM3OCv5E0M2wmliSPJgztSmeGdsPn0SRRmdvVkAOnHiqNn53NQ7H2NHG46pO2wz/X3y22hcTFrQqD3Mz5H/KUyMgDe04ouQ8Cf1byBIyts2un/k38GIk0osp2RMDrsl3DJqKF+PC7tY2do7ZbwGPhE7fxv6ZthFTheiCdS6GmTZnQ0wce380303EiuDF55pkjvcKWOZZ0tw=; 25:BZ6hPgBOtEN240E3v453X4OODDaSUBrdgTFG6nfjMzMMndXr9qwXXZB/8Dtper5G4amlMsZjOceX3/ofbjz1/wVW4HVQtB6KoDQVreOggDyZLTNTDwXTuEDhDssvhYzyREWCqz+neSdvNoThhyAQGF/hehDT83+ApOCWDy52pX0HxzSTgxS9lCeIe3ycbevFjCL6F0BaLdfBbFyfrimOzySxtwd6+rUnVRok5SUcuDGM9nUVAk4cUc5RuX+Gt9Wgw4V1RF+6f9xLRiEEVk15WW6Snt4S4bR+hrQ/ZdFoaW+AhM9mml8b6uICpHnVIaq5SB6rqZEOdNv3Wz61ByDVGA== X-MS-TrafficTypeDiagnostic: MWHPR1201MB0128: X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0128; 31:UWhF+FudK+OE/VrsDjUahSUTAeVhH+RruaPicwA4BlgwFls6/SFoiOD9S17XDfgvM/PnGnmDLcPuKSXGpuM8sUW+sCY9AZ22FwAP+PZaYlWg2FGxok1cD/Rz6+cF/lxMiK02B1WPWeRRAbPGoPtUxDgY/eUPKCkRcjEAGAPQPJhwji355YBJ81O7j/U4oitOnVAc6G7XTiJkqY8lcoTX8DeESzs9R9zCbhjHywLPbS0=; 20:qTiVS1zahy9DMTHiNfKo85t9HCTf0JvnR40vKFh/k0I9Qq+0Aq5EjN4d80MwMJyz+/gVTyzX+jwP2zrRJIbaZkDcC1e3BzNmxf/FjLVT4i8HNqt3oxq6nlEwdMKz1U029yg3KYS/VQZ2Pt1v/bf6UbaUvAnHSXmiOAbTw495J1A90At+tPKbBQ55jtZBogTeh6cE6wZz68yUmsz4eLD45JNjjlo+dC7iDjVdktzGsjrvUHCUztkPogrJQ1j/9CPXH/PC46eRWt3i9nNd8MsghEFdcebJ4a/Gak/+9dkaeKkcTUiF+cguQdB+z4OMlR8LbbCg04Da5VkaXRtDUqA8eENSSbpx+ko5oMcPRyOhMkdNvw5lOErqdG5dakXBFez2IK0aM6m+CUF1KBVzbdnPayEeZTnlWw+Z2OdDpuKNK4JUlIdztpVN//ALwIDAK1H4K4arT4AmSTNSGhMC4mddC5ZILHb7MAa1PtFL3Fe8lSX8myF4X0J157DyckxKNvxI 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)(3231311)(944501410)(52105095)(10201501046)(93006095)(93003095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699016); SRVR:MWHPR1201MB0128; BCL:0; PCL:0; RULEID:; SRVR:MWHPR1201MB0128; X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0128; 4:g3RRCVldQ8SjJc24wsw1fOQVB7Qox8BT8OwfEPvlNc78TzWsU6RKJON6Oxk/n5CnqeH/7tYbeIP9Q4QWRRaP8G3BaPQWbN+XeSGlvQWOPXytxxUf9BtaIzj6S4g+fDxF0mAVe/6yKcwscSg0aFJuQsm/hbEop64ZEPzg1kFafPMCaKyVD2aypfMNOGmGfEDfTZ0P25S+5wfKUaeCgkG5qNk8YkAAU8inY3Cp25SQkG7e1ZpNIzM13L2pYfUY6PqVMq/KsPe2GaGLE/6f1TxTlPD/+ldqeClsWw8M+S2exicSf0LxxJQ2N6BExSM1YRtR X-Forefront-PRVS: 076777155F X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BMWHPR1201MB0128=3B23=3AUO337?= =?utf-8?q?8FQZz1JeDZnabYnB3nC7OhPbLjsSi7fcwxfywXmPPtpvapdazexK0PEk412OlmGi2?= =?utf-8?q?wT/Xk7Ft3VtRcd/4LC0wqPrHoHKKWcqFXNsGXooIeA3PfTLWRj+u3AD9pvIfki8Pb?= =?utf-8?q?4LK0FHN5kwpA8HEOL1tdwS0tHOzCaJnIJofP5fn/kg1+n0MrXVpeEh8O8l1q9qDrY?= =?utf-8?q?BbBwAhDwmPnrsPtLkyIypkh3RZot44Ca507gaTqavNqrI/34IDk3Mtn83NzgYsPm9?= =?utf-8?q?NuBZQVNq3E+8NGfzmUvteb7mBafh+STr5aC7T63yAHMkadXMIRucmtyWVkQQ9BeBG?= =?utf-8?q?wttv7R+9ay7R6eoTN31kRz/tWBKNj+ygb/ETZuSq9QC0VcC2kpKkyozk4Zp/Bn2NO?= =?utf-8?q?hrEtjlK34Z2il65hswzyiK1O1hSzAEtprIU2oMZ5jwuZAe7EpKcarUqYDlkQ1DXpl?= =?utf-8?q?65hkOIZ5hSMTsFi7DoEsSneZd8oIr9Mo898kp/QZb5Y/nMJkWj8UW7NBVG4OnVGzo?= =?utf-8?q?6cCPvhmwqpwbk0ay3vY8dyaHz7zVuehq7P17ja2XYF4sJPh2KAaKZsFJRDjV9hB6/?= =?utf-8?q?qvCaB9y4KrhC8NJ1aY63Ms56p7ozQoFhCRjoctnmBYTLCc34J3K8xPSnN8WX/TmU3?= =?utf-8?q?MlCshgaEvcU0eFRbdkb9OV/0f5T1wIpXxHoKQpDNKySi9hIMGg0eUbnrTCIhZi0l7?= =?utf-8?q?OZOCYoncqTqkR5ccSuM5xuG9e1K5Z7ZPyN3FYN7BJz3RpEkIGI/BHVzoyt96BgnOG?= =?utf-8?q?GRchz4CLALMSYPDKwhsjzfVh6w6vif/Em7Z7R8yQEWCgfYwy0GQhYhgIK8TA2wn9I?= =?utf-8?q?o4I8ehHYYyBtvgxiPu3LJFGJ0susAdhkBSpMwHKnWkR3DZzSaZ0qPUz68yQXbBnJk?= =?utf-8?q?zKXROJ8LH0lnBmioUnt9Vzk7tIJnzBqVK9lFA10tUNHoQs5YWIfkO11i+VoYXDYqe?= =?utf-8?q?v16brAZp+iq5EESrHEA2+bf/Jcqj0g6TqSkK38HSkOPW8VMfeFy4JsY+a3JKdpTD5?= =?utf-8?q?cUgjdjZ9PDADRe/1ixDUrgI93W9FJOshbqPZPrTB+K7D9Tfz41afAT2OM00QpL8/3?= =?utf-8?q?516zdsQQBqL68d+5EjQKLkQpzqE3PPzN9npKoLziIMZ3art6/9aHVYjIANgr2fekv?= =?utf-8?q?XLHvFK9sWeo8OqNTuZAY=3D?= X-Microsoft-Antispam-Message-Info: 8Tn5IOVSOUwGs1mVS6eBW2ZVcwnBbQerskBiJr7l+vKqzaf9Ct6vChz4jMzc3hftgjUznH3VqcBnEJ2cBU3gwXnXEMSuPPNIzTjIaBpoqXLmtwMCtewwO4qEnGTRbBTKz2kC2O14o4Zh06/b0EJVrLPzCKgBzzfa1WhUVJ3jWAfMIy/ZX+mrJa+vsw9eRjFz8iwGpyP/Pf9/hQlHb8IopzP0VeKu2gQDoDy+5UhRfJR26hPHLbOPATA32RTmtMTSdRAbmdgMbbPND4VMOikMRkevvbwZu+psceEeJWYz6GSDCVvsQUmtgwKo55NdXyN4hnUuD0Dbypr7l0DjOyW5CgfTeTfde+oiXPHEivS9u3M= X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0128; 6:glJusFPTVRt5Ebwa3kO6t+C0Av4/oNXyp3Zc5S3yeS/3RRLZVTefasKWbaotj+Sx4Ss/AfmBRJZHDc9f1idWFFX0SnJ1bZoNPpqwYyJAlMB6uinYSJedO38DD75eUPoF0Zbvtb5AJAIE16d4dXdRQ9nB1ODf1a73f70+v7RJsM9z+CN7Yhla9YJLemRHvuNJKt9Kk9vK0dObK7jf/EChuzjlwKwjXYg8V0mZJyyWZd4eCiyORuDxHsiYOK8zbm9SeCtIMlvWNrxWjtFv7mVFICtK8gkH9yz6c14AXHYPjNMiz6Dffxk3JaNBtIV3zQRzDzY6MgpLx7l0isJj5UCQm9hNdghfF/1R2zNsRD1UV7A8DpfdngrH22/0rNU41+HZdJep/97gvjQynrMgBZTxRQ9oVsg34RdS8yynYFW0LkUaLf15OpS5Afo8//OuNwF8TVFhfKeDnCup0Ipk7T0/ng==; 5:M20VlZxrc0kEMDozdecy1ZIu4leyW+H5lVtgrAT8jGIXCYcCqYSenojJadOtKcWyOzVwTCuXSkE7eH1Df6g73mJibkVUxXjWArgTizXdkfLWqy31akJIdwpUAFa7OVWMtlC+9pTBJ0+8VD6R+e+096RIEx4Tm+Zw6zN58u0YV9I=; 7:mcC41VbMechm8fI4iDbCWz8AenvblJo+mo565Yp11Nys0vvsGBig3nbNVBKhwyNJET/4hDfhlxk/F2Z7yjk+V2N1yJJctbgi0gZfVe0+hwuZ6XuAJBM1teWNPXHVbRAv3bfMb8m+KCdyFBWd6eak7IsZeEWjbzGW+gfchLHxW2LkE29EozmpOvBBviRuTPJ359cXkBSBZKvAu4F1YzrR1zbFs55Bwjgz18Ayl9xArELOYSyIhgWKqrGsHhdDAQ/y SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0128; 20:BQFD2XfCqAQ4SXEiU6r4iM57bcEeeM3Jh50SsxRGgM66BGU50BQ4lD2JTYzXoJH2VqZlFt5ymrLSHANHy8ikWPZJjOeQ6D+TIlomp8woh/Bayjfo23kRW7KRcrJTMfIe0oTl9u8V6cl9mp2kOoBj37WaRPzzMGgnhwUNA/P4LnK1OlqDlJnCj+Cqc35MEuKhXGHgNb/LYDe2WBqQKMZl+P51gyK2KUgDp2IKH/Li0bkz1+SLxcudaBxULdOZcW5/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2018 10:08:23.9246 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69b322e5-b878-4705-94a8-08d604295e40 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: MWHPR1201MB0128 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 Add bulk move pos to store the pointer of first and last buffer object. The list in between will be bulk moved on lru list. Signed-off-by: Christian König Signed-off-by: Huang Rui Tested-by: Mike Lothian Tested-by: Dieter Nützel Acked-by: Chunming Zhou Reviewed-by: Junwei Zhang --- include/drm/ttm/ttm_bo_driver.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h index 3234cc3..e4fee8e 100644 --- a/include/drm/ttm/ttm_bo_driver.h +++ b/include/drm/ttm/ttm_bo_driver.h @@ -491,6 +491,34 @@ struct ttm_bo_device { }; /** + * struct ttm_lru_bulk_move_pos + * + * @first: first BO in the bulk move range + * @last: last BO in the bulk move range + * + * Positions for a lru bulk move. + */ +struct ttm_lru_bulk_move_pos { + struct ttm_buffer_object *first; + struct ttm_buffer_object *last; +}; + +/** + * struct ttm_lru_bulk_move + * + * @tt: first/last lru entry for BOs in the TT domain + * @vram: first/last lru entry for BOs in the VRAM domain + * @swap: first/last lru entry for BOs on the swap list + * + * Helper structure for bulk moves on the LRU list. + */ +struct ttm_lru_bulk_move { + struct ttm_lru_bulk_move_pos tt[TTM_MAX_BO_PRIORITY]; + struct ttm_lru_bulk_move_pos vram[TTM_MAX_BO_PRIORITY]; + struct ttm_lru_bulk_move_pos swap[TTM_MAX_BO_PRIORITY]; +}; + +/** * ttm_flag_masked * * @old: Pointer to the result and original value.