From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751690AbdAYJtv (ORCPT ); Wed, 25 Jan 2017 04:49:51 -0500 Received: from mail-sn1nam01on0064.outbound.protection.outlook.com ([104.47.32.64]:36800 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751565AbdAYJts (ORCPT ); Wed, 25 Jan 2017 04:49:48 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Christian.Koenig@amd.com; Subject: Re: [PATCH] drm/ttm: Make sure BOs being swapped out are cacheable To: Thomas Hellstrom , =?UTF-8?Q?Michel_D=c3=a4nzer?= References: <20170125082131.25544-1-michel@daenzer.net> CC: , Sinclair Yeh , From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <56e0a49e-89b6-4542-e905-57f0dc2ae79c@amd.com> Date: Wed, 25 Jan 2017 10:49:33 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:1251:7981:2d05:6d20:239f:bb74] X-ClientProxiedBy: VI1PR07CA0095.eurprd07.prod.outlook.com (10.165.229.149) To CY4PR12MB1303.namprd12.prod.outlook.com (10.168.168.140) X-MS-Office365-Filtering-Correlation-Id: 017d3184-26a1-4c61-1419-08d445077ea2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY4PR12MB1303; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1303;3:IX2pphlGrm4uXgPp33j2u0hn23f1DTECI5BFuQ968GaVbd2Xz+H2RkCfbBiOvO8d7R4Zq5cFonWDMxxKjyv3QL4EcJJDSaVQ8Z15xfweZT0YnuKSXTuoraLTdZf5sjiDeDctxoxr3J7GaIxcq47P/tvpbkrVlpkDqDQMRuNCafXp+XiQcgPfWJleNMG5BszxirE5ycsJMGOnXYBFioHYgNNndbFw3BtpUm11pn/Y/CIpKqXTSzxm6+iGaWM+co5FeQ+pC7b4yzgSHwgzXcX0ww==;25:iL6zXp/KoJW9eDU/JZw/CsX2Yq/0oqXj1yqCY+Jz0tldW5v2Bnke0vhZPlSYi0RGgwj36+QgMi2hMkzeMxDdFPlza1gizaT3/mf6srlHiT9GLJUPbyjkfsfaMnaHsIcqOrDYIX7s1oO8+XhWMzpo7e18rtpmaT572sS8wN9HKMJmBhaDFbae4xu5TY6OF4zndAvG0oaA85gvClVdUCQyfw3VD3okgRyTsFHQ0SyQ0gJkp4d5fXC+35Zd1/Maxlv/gj/c7ZsnAShUSPBkyJ3yyzcI1qElLSMv1MYr4ZMH2MwF8j0up5Zg8pebEbJz2R4jY8DcMEMizXKD+tWNkGY0Lkoor/hV0zMuHN6s3f+zwctgYcKGO/fTiYX5NgYCjnOMGn2AUdDICoKCaH38PY8cgO7Dv0N5ReN0WlF8XHRNmnsn+iJdE0KZY8s1UZNUAyph2w+pZnmvaNvcmbJ58FL8Qg== X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1303;31:dFFOuPfjklYg8ZG6jfG5gJz0QmvHqCWllrU2gRrjuHuVX3QYJr781vheMSpcw/vJ6lAWDv5OIVBXbzP22KqQ3CDmR/FC7YoAulfTYyEnPZZgUXW9NbGQGgOXTGrqXbA0npTl3VO/RxKrzJ6lLYEGqklxcZO6w1WfAOWVMfXpfMAJamaeGq5KeV2t6dvfEV5T2Vox4kkaA76U9KIhltfRd4HfMgekcsoR4yUTyRV4oabzOmeZuNdp0mHUvmbTZ8W3qEuatUqoa9mHI8rCyIVCmg==;20:0AjPFK5+ATVB0OmiDQcO9uwiwAeipTRDUjkeV8YSHV2NrRReQXcxrnd9ZmYR7khLSknoqt09XkQwusx802+zIBKM7O6COw6EDoJ2QcA7B2fptFx4nAEUhyqLBBoLSn03cZUBgZ5tcP2//Nlyr5RIDxjYmsgsVxgZwnFmH5T8/qjwD5zdAnrdznFHNy7QZuAlpJwzfvsrAGIcAfpvp+POCW8yvaAUlOgPE/AxrDjBa26B1/JM8LwlQjmIuaklFTkO+kTAsF6aYfhKmsRY1dCdfLoixLBZdxtuOZ6yJJlrRxc+yhjXBpgsTEn8Hw78k132uhPrqYKWHHSDigjYDGFeyJxfY9CZVrp7WBhkM1H+y/kNOZrXuQoZ/uqpNbWOD2QcqRqZPfhTgOdLPRX8oRY0VXcUpYGp0PHkQ3fQS6z+hereXmCvuDLKQg+1jvIR1CVzlOK/aNwyvHEBvEDvg4Hma7SjzeLC+qpNrmjAX3Nz2tPYnkxKAq40ZyAj+aikJV+P X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(61668805478150)(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(6072148);SRVR:CY4PR12MB1303;BCL:0;PCL:0;RULEID:;SRVR:CY4PR12MB1303; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1303;4:J4NKF8cN0BprVcgkkn32y9VMxh2T7+X2x9sBcwXKZG6DPL87a/I6aBQtIZWmpKbQPprdhCIUjCrxUecLyvfcC5SCgZDFTIfBYfHx8bgTSsnCpvlC9AHZJsEhturfhzu2NmJIbxSyb7zpoTagnIlhuQJggBp9kO3ZivEu3zRdsVYN5j5c7QsNONBIvs3HInl4rtGxlKYkdPvHbwN8vRviBROdopI/NIiPyJIeox1xrRRpO+wnEP3oj5Dz0V27NRq+FM9AjMqJt6bcGOXhgyWjgk91gvlmk/boJjXi32UNViu7ZfHTINbXWkyJvPgJrR3qm5K1SjihWfam+3Rpa9guTWkVReOVemPYHP1CytGsiHrw4xmmNOldKSK6zzjpMrb88SzriWHHUvJ12g7peXtv237UPBjBv5Zr6kCuuKs2cJtChnK5t1e5DulrYhqFZ7TYyCljH5bcyHtkX3RqFBUDLzKO7TtnnXgYykwEgAYdECmVWO4zxsVVtQRdhecqv0q/C5MoHH1BsyUbq3CiGIn10k5S2DpTliAqaoXL9hARqJUh0eotUfMFv81MfLD5XQdF1p+rnTKyjbY97quDtKgObDozRYXQhRcHpjAC0XVUgjxONx9BhNY9SGXzn4fyMGGyFSaWmwB3AbN4nIBQgr+mcl4H/lk46BNGtSs1rvAMoN74HuvdJ4hoaHuPEcqJRAcu X-Forefront-PRVS: 01986AE76B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39410400002)(39450400003)(39840400002)(39860400002)(39850400002)(377454003)(24454002)(199003)(189002)(92566002)(2870700001)(101416001)(4326007)(5660300001)(4001350100001)(5001770100001)(68736007)(97736004)(81156014)(31696002)(8676002)(86362001)(189998001)(2906002)(7736002)(305945005)(1706002)(64126003)(83506001)(6116002)(50466002)(81166006)(54906002)(42186005)(31686004)(76176999)(2950100002)(25786008)(23676002)(38730400001)(47776003)(50986999)(36756003)(106356001)(33646002)(105586002)(229853002)(6486002)(65826007)(65806001)(54356999)(6666003)(53936002)(65956001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1303;H:[IPv6:2a02:908:1251:7981:2d05:6d20:239f:bb74];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMzAzOzIzOitvdkVLbVZOOU9adzJFdEZxSkpjNjd1b25B?= =?utf-8?B?UGNtUDdaY003VnhvL1luTDF2c1B5NXJyeFRIMVBheHNiWkJGRWpxNmViUWJw?= =?utf-8?B?cjNQQ0k5UXBmZEFpZFdUeE9XNkIyMGJtVXRDR0pHR0t1dUtJZHRLdy9zM1Vu?= =?utf-8?B?KzRpR3RVbFZGTlhxbWh6K2dXZjB0VDJybEhRS2JOV1lEUk91SGJMUWgySDFq?= =?utf-8?B?SU9lK29DQTlTNzhibXRLVW52WGkzOHdkQnUxOU1LUXFJellwOElsN2N1RVM4?= =?utf-8?B?Y29JR3h1dHdyTUs1cGlOSjl0NjFZb0c2cWtocUpMNmZFT2lLYjJ2ci9tSVp0?= =?utf-8?B?cmExZDk1Y28xV0Z0ZE9BNm1zcmwveDJuamtBMFRSZzJiYkNTMFpkVVgvMHN1?= =?utf-8?B?S2IwYmpNdXJBNG9BTnJsOFY3elJMMHk2a0VuZkpBYThrZkRraHg0VG8zSEZk?= =?utf-8?B?SGJGek5vYkRpK1JRS2RTbS9vekVGYTRPU1lNbFE3MERkQ2hOQkNQUWw5Q05O?= =?utf-8?B?S1pwcUFqWFZGVmtqYUNacVhlbjMrSk5iUzJsMHBoZ3F5YWErSERVN3RDakt2?= =?utf-8?B?T2VwdC9oNDJDbjFuK1Vld0JyemxsRnFoRVROamozdC9vSGZWbEpNU3dpQ08y?= =?utf-8?B?ZkFmSGFSVk5HdTdSdEF5bUFPRXJsdDFuTFZpQ0N0V2YwK0syR3JQRnA5NG1Q?= =?utf-8?B?bW1LdTRhYmNuT1poZUJ2UFNVL0RiKzNNUHlhZnF4OTVhWWIwVit2bU9ZQ05p?= =?utf-8?B?OGkveURqei9oaGd1ZVVKOVBIaCtsOHZoWFMzRms2Uk5WMlhjYnhJTzhCNGNa?= =?utf-8?B?QU1CWkhpNHpUY0dTaGFucCtzemdxdHhMOW9PZmdxYXpva2pEUTB3NjFZVTRn?= =?utf-8?B?b25LcmswYXVRQlBMbkRoZXZNWVhYT2lSODA0UmdJaG5CeTFoeGNHWGU1VDVr?= =?utf-8?B?STB3N1I5WXAzc0orR0RDS2ZJazUvNXJTVkVqbHlBVUZVQWNhajdpZWpEUmh1?= =?utf-8?B?bVFtc1dqZ3Q5V0JOQXdINnlWa01mbEJVbkk5ZkM3M0FWY0Qzb2dwQ09OOEFG?= =?utf-8?B?MVN3WWZQU2RsTkR0VDVlVFMxRUFVeitoZVl1ZmxVdFZXSk9MTUNqbXpjRlY3?= =?utf-8?B?ejNkekl0bGttM0FiYnk3ZS9kUlFlRjJnVjV3T1ZTOGxTZ29IU05lZ3dIRHMx?= =?utf-8?B?QVZCb3VqTStKSndESDFIaEJxZUtEZDFWQXJpNUU5N0pGM3FWd1NLVEwyUlp5?= =?utf-8?B?eWhlNVJReWxxVStoRTc4eUY4Mnh2ZDlpeTJTYjFtdHprZ1cvUVBaSWhMUTZw?= =?utf-8?B?ZHBaZmY1YVBJemx1YnBqNVozNm0rWmtuYkwrYURkYW9UaC9lUjVyZ1FKZkhm?= =?utf-8?B?aXczUG9waE84YXNoK21OaTdhdkVralNxU0o5dTZtbldQZEpHVEhvUjVhdUlS?= =?utf-8?B?VzVpTHAyN2R3TExGVjlqMHdXSFdFZ2VVd1RmUGRCczRnSzJoMlViUE1WVFVC?= =?utf-8?B?c3NPRytjSjBic3dSSEpOYTBtWS9YZjcwS0hsN2pyZVhOTUdiQm1Ya3VsUmd6?= =?utf-8?B?UVlkcmpHeUZGZTR4M2JKQzJSSmFkRXBWT2RJZmhIdHFnaEtqd2xRYjZqK2tq?= =?utf-8?B?N3Q4cFdhN2VpcEJZNUxWNURRckhUYjFMMU5aZS9SQXZzNGZjK2ttMVlvTk9J?= =?utf-8?B?ODVWbTl6QklFMXVqTW9GbFpGYlJQUDVObkcxTE9CYm1zTkQwelY0c3FOZko4?= =?utf-8?B?UGlEMWM4TzlqbVVaUFZVanNIT2hJak94QzlzZ3pqRUh2NXJMbmxQZ3Rycm02?= =?utf-8?B?bmZRNUdORlFTUjJ5RFV4eWZMTDhXcHFNdWN6UHdveTlOLzlzY1pCYWxtcmNV?= =?utf-8?Q?G6AR93vGPVIa3t5ynKR3YCpw0yCPDXNW?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1303;6:YU9P06gFLqpVv/kD6ZCFoFLGt+vz5G9yzZg4whEdyqQQc/15tiYvOvVCuaaACU+PuJhD3kicKH9wgQ9Nq1GwgQxLITdV2qVzTogIC225WIXvtFal7O+VWcV7ysG/izhDwsAVHC4uqPp8raIVC5Jl4Gikzzc0oUMTqLCzAzpamWc2yzz7J+sDkMXcaI5WnlwWwuWojyzuUoD8dPsxe2RBnYyvY5xWFVCccWCNyIRzD21nkOP3D163Moa8ShHk2sF20ZvDgdIKCuKG/+SF4KhIr9NIHsXEUnjv4NCixE9hQmiNpdrkGoWWzEjZw1dZJE4r7lAjUmvegzf0ziTPv5fl1mi0lcEHEWQO3IfwTxdGYa8ir4bw1Yxxh2GXKOdpNWNa4AsWiBPzpH7D0R/GUIdn1HAPegn8bsMZzz0yb17fDcCPJXH79d8P3YVB4iTjZzp5V9XDlHt07nfVQAUiAwANRg==;5:Z8y7KM0rVSR5PRHQq2PCigValA6hpPXJWvJs0sPt1g5ZYU1xeJdsALm5hI8O8zbctRDan+IpWRVwBp/J0MoUgxoNqJOBwsxXsj3qhXF+HBmxme0NUuaaLI6RRAYoN+AzK7lEKFABkRJhjZYgMzgzTA==;24:eVe3fSuKVduZMk3dshgFhkAT6K+U8Y9pl5gFPebeEvuhS6slwHzWa5cziF6Wm6B7rA2lpkQ/nYe0vFijZMCiarwKRPUmyuHUGDVUkMMsE8Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1303;7:Z0+gcVgngeBvJekgucPSHGSTZ6yaygark4S9Q8xchGPSp/Y/LicCjqSNTedVm6zsfxa+MuBmjmc5kxJ3Fxt8dvSvVewwyXM5sLJcq1oQ4/L9gZHzFA49xiyj1n8oOpwoV6nmMPb58qKVHWmUUVqtxpbv9O2t1N3Um+GpOZCemboM0Ku9+4Z8bz29FTSnGclf5EsttDtr4QdA7aomLnTRMVhUT8vSttkL5P0Qd4OvIEKVgNg3K+GBww0lLpLKmzp7CZ1ECQ8FrYxbjOJsz5DGCPzOKjYCwU2Ly/Wb0Arg3O3rfjtS52S94EeHhSATdKR+X0+so+53uToZ9CT8Z1f6hDx0SSp2wdeIeSj3Me06v1T9IKs+Z2I8oPZ9qqECo909jANt9vJpKjKOBNl+us6eAo7p5ULa3HZS0XWCqkKlClABvMSVxMb8gKRw+j7QB/N/zOxwhJBrXPKzcGeZIOsANg==;20:yF8W6ZDgOyYwUqYFoiqcN4P1lyYu+xr0mTPYStu8Zpndq2Y/HFRgG28Qv/v37k39RUkgX+Y6mGHQgkNtwRpjjdQEV9HDYyu25Ex1bN56ikynMpNCk2rU4wZxtwH3x92akks+7ifvvTfkaQ2m5MfxORJdPPuraz8/lwbS/PH5a/H6vdytL5VyYciYXM+JrnD/8FCQ5vufvT296FWjkk7pKbfxP4a1nEIPwro14C/7TbiGefuJyzA95osKaZ1n4QJ/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 09:49:44.2748 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1303 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom: > On 01/25/2017 09:21 AM, Michel Dänzer wrote: >> From: Michel Dänzer >> >> The current caching state may not be tt_cached, even though the >> placement contains TTM_PL_FLAG_CACHED, because placement can contain >> multiple caching flags. Trying to swap out such a BO would trip up the >> >> BUG_ON(ttm->caching_state != tt_cached); >> >> in ttm_tt_swapout. >> >> Cc: stable@vger.kernel.org >> Signed-off-by: Michel Dänzer > Reviewed-by: Thomas Hellstrom Reviewed-by: Christian König . > >> --- >> drivers/gpu/drm/ttm/ttm_bo.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c >> index d5063618efa7..86e3b233b722 100644 >> --- a/drivers/gpu/drm/ttm/ttm_bo.c >> +++ b/drivers/gpu/drm/ttm/ttm_bo.c >> @@ -1670,7 +1670,6 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink) >> struct ttm_buffer_object *bo; >> int ret = -EBUSY; >> int put_count; >> - uint32_t swap_placement = (TTM_PL_FLAG_CACHED | TTM_PL_FLAG_SYSTEM); >> >> spin_lock(&glob->lru_lock); >> list_for_each_entry(bo, &glob->swap_lru, swap) { >> @@ -1701,7 +1700,8 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink) >> * Move to system cached >> */ >> >> - if ((bo->mem.placement & swap_placement) != swap_placement) { >> + if (bo->mem.mem_type != TTM_PL_SYSTEM || >> + bo->ttm->caching_state != tt_cached) { >> struct ttm_mem_reg evict_mem; >> >> evict_mem = bo->mem; >