From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751458AbdAYJ0A (ORCPT ); Wed, 25 Jan 2017 04:26:00 -0500 Received: from mail-dm3nam03on0049.outbound.protection.outlook.com ([104.47.41.49]:21367 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751389AbdAYJZz (ORCPT ); Wed, 25 Jan 2017 04:25:55 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=thellstrom@vmware.com; Subject: Re: [PATCH] drm/ttm: Make sure BOs being swapped out are cacheable To: =?UTF-8?Q?Michel_D=c3=a4nzer?= , =?UTF-8?Q?Christian_K=c3=b6nig?= References: <20170125082131.25544-1-michel@daenzer.net> CC: , Sinclair Yeh , From: Thomas Hellstrom Message-ID: Date: Wed, 25 Jan 2017 10:25:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <20170125082131.25544-1-michel@daenzer.net> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [185.29.113.161] X-ClientProxiedBy: CY1PR20CA0120.namprd20.prod.outlook.com (10.164.213.174) To BY2PR05MB2325.namprd05.prod.outlook.com (10.166.112.151) X-MS-Office365-Filtering-Correlation-Id: e2db7d5a-573d-4c76-938e-08d445041974 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BY2PR05MB2325; X-Microsoft-Exchange-Diagnostics: 1;BY2PR05MB2325;3:LHszh0S9hV1ob0NLx9IyQ5kZKnaAHdJIUehHDhEVxT2Z2iu776VT2x5Ykduq+X8/4ooW6IayqHqmtUKsYCMllFLDjkgsKhDEtUvxqU14/tCMxLJDwJeMpKz9xrNh2B6cNSP2mc/U6a+HLkx3QknPxh+TLTamTOJ3HjhvjyULMdjdDrewgIOSXtoJ3aFq8tb84SraHF+0/UXFaNm7IYeHEPE2A0Emnidm7pfwaMUE3H1EvSXHs0ePx35iMK6K28fwTh4lIWMcBoCncRz0/9t8LQ==;25:UvH/lgoIz9tU+f/SpQ9yjTUd2gCIH3XjJemx/Ybs/ds/nr53YE12WrMNSr32bkDjba2msE1PrX1cM679lzAWHoFpaVAq7Z8x0ppL1tbWq75XpWwhwpMMfE9r50BuB2UxC1L62auT4mGbBQ4j7pCRF0DhK8T1ZgczEGZ8mBxTRQmGpwlIk4ztdTlAZRxJyK+6pz50/w0wsI6O8Q7yLlYTQ6A9Wr72sgzArHeX4HBkYuzFkzvkQyPBp3jXxufYE7IFOoamyeCS7iUr1jQnGgorTdoY2srQ/qSm/F95qeZYPzXohIdFalUF6wFwbfwh1FUVCRKfPNg7KFqCNqmdjMQ0V2wVe4ED7adWHQ72C7HzKLqZYowokN4LM2xsEcz6g0UYABzq8OcFtJ48WsanSMZo3T9aipsy/NDMjfHQgHFv3Hzm9HEZs0nX1uh4Kb9zGkCnxES6nLBCb55j06XKX4oKRg== X-Microsoft-Exchange-Diagnostics: 1;BY2PR05MB2325;31:8XtvXUicjYvjur+Cghb9R9BdGctuE2gZC87lmukvNz6JfwdltqaR1DVHGzzUF2XlzOiEeQ+Yz8yK6jN/vAa1f7rjDdpEpwiiha7xSNl2qplXkxfpfVJu7HmTSI9blrsojJaM+CSt7ZRDdE6L79BMjN0OFb3EBWfoiugon/8FXXflqIsy5ntlb4NBYH0yrmq5RAWWkrvNqvcmwjwnW2h+JwrzgfOYL/y7jCN5pvgFzJ2Kxf3UAYDF4jPBFUpADcgyMRPod37XBVojZlrQHgBcMQ==;20:DR8p86GtqD6xEo1P9g9VZguQvsQYlqSgTfYTdzRPhkMD3in5TRC4YppMB15EhbZUy7XfahIw/ESsgJQtKU++pXZ+gjPS9pSjoQdsNrlfOTAq5NGknC/iLvAbXX2yRJr28OP9o2FMBUl98IsFt5PG0DwdIfnt/+iQcfrxJp6Q3HG1aGAEYlNTBMydEL30cyZp6stN+Tcfo44Gj+se+NO4Yt9qnxpmDPfl5xhDPm2xxKgqx1jOzKTPl9e8ZGVOFk1cmVRhbxA+BCeqyeh/rNJoimjNM1olZwYp6KOCvlb5Oaosnak9XupCPtmeXSglJyHcumCBzHEoRyoK1tX8hNRU+HEDp85rhLKq+0dCNKGAZoZgMc5cTco9HDgy06Clz6EyF07D0hZR0Iaitu/NI8z5MaNrLvb7CpI6OdBbpqVg9/kNvxjy8hNk3Vce23r74vLDzB3jEFydvDyRY5yC8CRdFWzdjK5mVO2VZ35i8m9JXsKTKseD+1mE99TcyL811WaE 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)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:BY2PR05MB2325;BCL:0;PCL:0;RULEID:;SRVR:BY2PR05MB2325; X-Microsoft-Exchange-Diagnostics: 1;BY2PR05MB2325;4:jlT0snUE+z3C4j/kOhjVK+OSPd6hRISkfyTeBLZLXpLYZQMRrua5alZrfOCtBQwH7Qqk6BJMhhdADRME6Y9SkHL3Bt0LkWCrMbg3OhsBVSCbQsve+uL7sDxFWiYqpTVUKVJlVfSw9hy0MmS7cWg3SiIWcKHEz+XN37rCjQcRNAqU6ZMbrPoLqpHcHEzA7yBpe7RwVN/k8ywu33SYhdIKRelc+eu/cQ+KpQadYdQLcMao+dAvHdx0TcEQ+ve20j3q9G+T9Cm6cZpf3ZAnHR/0iYKh48XxoxeY8OMRqdsDsaBWAI5X5D9ZDq2jRjfjwmIoEslXnZyg950NJZYSL07umNVW4DwshdLw26tuOoLNZD57Y1/16qpe0sD3iBBMrxVYzoSyhHqIHr4a9QULnSaRo/gq32+Vy1th9O8HcAiTpbw0qh6dzEd5VYReBtU2UURGHBVHSlyamPfNLt/S7Mk1h4JGxGknO1FrL7DqBjxKH2TnFPlS9JLZl8tFEG5cd9X/e/v7aLdU+b9bPF+yBjM67l1QEiIBwiqvL+MtcRpYwJtLhUfsSRe/vZeFMVEajGtSQiknetyq4HAeT8RuMu5usb3K7ZMBRSsluR0HF14WnyBmTAmP5C2tvSLwi/9EPQEYHzuvHp2GugCK0AJMiiqv7Xo71jyZZCSM8jC7A3qcwV6EtDXX07kKAk2vuwnowvC2 X-Forefront-PRVS: 01986AE76B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(189002)(199003)(24454002)(377454003)(23676002)(25786008)(54906002)(8666007)(65826007)(229853002)(92566002)(6506006)(6486002)(38730400001)(4001350100001)(76176999)(50986999)(64126003)(81156014)(53936002)(7736002)(54356999)(97736004)(101416001)(68736007)(6512007)(2906002)(5001770100001)(81166006)(33646002)(305945005)(31686004)(42186005)(2870700001)(2950100002)(4326007)(105586002)(106356001)(6666003)(36756003)(65806001)(65956001)(66066001)(86362001)(31696002)(50466002)(5660300001)(47776003)(189998001)(6116002)(3846002)(8676002)(83506001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR05MB2325;H:linlap1.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjA1TUIyMzI1OzIzOkFiU25td09Sc1RqN3NuSTVLYi9BUVAwejBI?= =?utf-8?B?NGRFQmtVMjg2QWdNMWxKTDB2UWRrVFcwUlZac2RFV0kyNmVKYi9qN2RQcGZ6?= =?utf-8?B?MmU2MFNiWHpkS0FleWltOWpBUlRZK0JmVXdQRHdxRHo1Y1p0NW9pSmhnY0tK?= =?utf-8?B?NjFabW9XSzdsRmVoaFdETWdMTWg1VVJYMFJCQ21QMjlqVThPODJ6V3JGREIy?= =?utf-8?B?b0VNV29ZYU9CV1piRWRpeGk5akhRbHFPRE9kTGJIZ0RScmlDNmlDTFhKZ2ZL?= =?utf-8?B?TFJoamxZMzZzN2U1QWZGSU0zc01rbDl3QjNFYlQvZ0kwb0FyRzBERFh3UVVi?= =?utf-8?B?N2x0RUJWQUZuczQrVUpDSkpVbmRwOGp0Q3EzaEMwN3pkOHNTYk9wK3o3ekVs?= =?utf-8?B?Ukk0SnViRlh6bFVad1YrTXJXQkVUM1RtMUJVTHpSeGZ6bGhFNXE4K1Y1SVFE?= =?utf-8?B?enRKZ1lVZ2xSTWdPZlRqb1ZmV200T252TnVZN2xRWEdob3NDT3RRV1Y1Zzlp?= =?utf-8?B?aUowMmhQaUQwNWZsSlUzcjhPRGVZOVIrZlhrQ0UvRW5MaXpPOVVVa0F5STZs?= =?utf-8?B?Tk9iRE5aMGpkb0dhUFZmcDUwbWIraG1pT29JTEN1UEIwalgzeGdhSjAvOC9K?= =?utf-8?B?MDROVTZheURNVHppRlM0SVpSbkhZSE1nVWxTTjQ4VW1ibHFCM1hBVXh6ZFA2?= =?utf-8?B?b3RVRHUvQnExaTEzcVlPQjZhcGk5alFmOXkvL2hoR0xLVEoxaUdmNXlSbnJF?= =?utf-8?B?cHRDU0N3TWwwZ0lucE83WnRMS054S0RaSDUyUUJqK08wVy9qOHh1aXVDM294?= =?utf-8?B?MG52bnFSdmFVSHAxckZMUUdnbWVCSVlmM0QzL3dCU2pUL1M5dHZHYmdQKzdS?= =?utf-8?B?d2xrQ3krTWFEZkN5ZUozUk12S01mZHNyZ05UNGRhWW5YVysxdEVsTEpUc1ox?= =?utf-8?B?eU5weHlUcmxnRmNFa296ODBNU2RUMnN0eFdDNWVRUWlsb1lBbG0xOXlMMG9m?= =?utf-8?B?allFd04rZytSckpJeEM5LzlrZzBXVkhiQ0h1bit0ZEUvemRiK2lsWFVZeGND?= =?utf-8?B?TU1kcXI0VUV0Vnl4M1pxellmRW5NT21TdkRsNm53eTdaK0dhTWp3ZjJ3anBo?= =?utf-8?B?bGFteFlLY29LQXNHSnE0OUtHVFVIRGtYL3lYeVBYaiswMUFTV29kUHNiYVJo?= =?utf-8?B?dHhsTSs0LzBMWHl4bkQ2UmRtQWkwMER0M1l3TDl0V21Ya0NOV2ZlVW5zUzlK?= =?utf-8?B?NTRUa1RGbVpBUm5mUFdROUNZUFcwYUFiZFk1T3VVN21LM3YzaEsvR0FkYzBU?= =?utf-8?B?K3RKWVN2Q0RKSERTZituZEVGZ28vNHQ5TjZTMVJtSjBhQzhKN2gzNVJ6TjhW?= =?utf-8?B?cnUzTmx5MlppcEt4WVRHczhkamh4Vy9GcVY1WmFBa3J6OUFPMTJtcGRMMklH?= =?utf-8?B?aDVTWk1hTmxXV3E3aFBBeGh5S1UxbHdWdDQ1dzFVWDU0SXlpNHlwLzFEc1c0?= =?utf-8?B?VjVtek5yN0dQcC9PNGl0d2hHYkt0bmE2M2Rrb3lKM3BaU0FnRVkrRDJWWmRP?= =?utf-8?B?UEpDYUsydlBkM1lCN254WVdndEFianR4Vk5CeUdkVUhyWEtWclpFQnpYTXZm?= =?utf-8?B?bTJjSlhjL1MwREtJZTB4RmJNSzdsYkl0a1AzUUVqZzNwMHRwdFd4NHFFOHFj?= =?utf-8?B?ZjM3TG90dDA0TEpENmRrM3ZndDg5SVdOZHBiV21IcE1HQ3FPMEt0eWhFSzZw?= =?utf-8?B?WXZ4M1FVTjdLVWV4Ymcrc2JCL0xUOUdtc2l4Q0xpL0Fmd0JNL09XdlhaeURk?= =?utf-8?B?MlVSemg1SDNXMW1tbnFQTmpKMjVTVzhjUzNXb2tzU1dLOElwL3Byc0lFWHcy?= =?utf-8?Q?BwZuCtn4kvM=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR05MB2325;6:egKzmf+8v6kH02/RD6K8M6PQEeJ1zrJO1FMiNNYKOaWL1j8P8gLm+rGeF9iOGIopUz3NVFVUdY0sV5LCmqwFnOJQxsXHFtgFfnUU0/v+QV4C16c+TKYLvFIHuR5e+UxpdMqKB5eIDJ57eU3eaUS/cYu0v7EPtyo7U/xgqwWbDINCsn+U+RHCHmT2E3eK6Qm/FeG2mOiMxBhLJ8REBFRmLpUW1xNV+xNmYF5x4FPfw93DbbzlyxUgrR+KOfnGLE7gocUzM4kKQUR0KmmpoaUi0Odam+jiA6GSB+RgBYsCPa623hyNyeTpgdU9PepQg2lCkWqoeSkzmB2kZ4mYTuSjwN7HGpsg0gPyu/liQMdQSb2ymQCmklBmESPoQ9dmyMKBojJ6LYzzT0IslMAHVmQOW5DoebzO8ig2/oOOcfDcAz8=;5:+oT3hozK/thHEhzGdKs7TbDX4ScIfQoVLWaHf+u8IXUhjh66fAKFphCK5q1u8rp+Pc52YcDoWOwRA2nvB7VwnkKoe46FebPFNhrpyCIREP1sJE/x8OofkCSzCWQaeukFlPnkcz1+lCaR0Xz7zsy4Ug==;24:rppwpHbG2PN7FtXlEx3oaWvvq5gbBY83jxDob34RQbwC63aY5ef6dev0BlaeJOngtpSa4rxDImA5ceSgc++hz3zojS1uK43fW2L8xApSHvY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR05MB2325;7:epdoCiJi3LiCQ7XFfGOfwvg7dti9JFPTWSASrjML5+UaVrltaoOhIJYCt6y6e4sz5bqLZUtTeLJO+WlrGevFj0Dn7JHuemYl72xIE9AV1TTIf4Fwjr377hYn4PIUzSpsCtfWM4iMTyhI0E7hjFdxiqq580QV3SjPnyrugh4bEa7rWHfaYdUVNCxeYnL+lBeTG6non9idpUsfaJPEkcbqAnVi/9fwe3e1wA4bm7Ads56BhnNlI3nnw4o/wfqJMSP8tSfsRgusNnPMaqm1XcNYDkbFmKboRNwScfoR0z4tQH7rWgpH8K/9TEGSkJr+bQyrgnkqPY+XIs5ZuXqIbcYdJgJWqhLiBitm97+1EJokLzcQ1yfROGlGK4F6tJ9/a0fsHQrL3X/RdRl2pBaMOBQ6n6necCfbEGTR2GMsu7FQ5zQ1BMA2l7OvzoNj0ZurXW2Nuv2p8mlAzOp6p85641P83g==;20:SEafO4hEUnepZrSVK2WU2fkYZwCA3rlmJxGBkAy2XhqBwWkKao1/ZkHbdwar+H6TMca20Ux7cJeFjufySJWbj2SNI4NgvCQoYRlE/e5mSFPuwnUM43+4bdyihULJRkfiYzT+04Ox/I7xjh1Io2u9V27eFF4TbAelnnReQsPXwXQ= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 09:25:26.1757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR05MB2325 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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;