From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752220AbdAZAsa (ORCPT ); Wed, 25 Jan 2017 19:48:30 -0500 Received: from mail-dm3nam03on0069.outbound.protection.outlook.com ([104.47.41.69]:39552 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751556AbdAZAs2 (ORCPT ); Wed, 25 Jan 2017 19:48:28 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=syeh@vmware.com; Date: Wed, 25 Jan 2017 16:46:33 -0800 From: Sinclair Yeh To: Christian =?iso-8859-1?Q?K=F6nig?= CC: Thomas Hellstrom , Michel =?iso-8859-1?Q?D=E4nzer?= , , Subject: Re: [PATCH] drm/ttm: Make sure BOs being swapped out are cacheable Message-ID: <20170126004632.GA3457@vmware.com> References: <20170125082131.25544-1-michel@daenzer.net> <56e0a49e-89b6-4542-e905-57f0dc2ae79c@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <56e0a49e-89b6-4542-e905-57f0dc2ae79c@amd.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [208.91.1.34] X-ClientProxiedBy: CY4PR1201CA0004.namprd12.prod.outlook.com (10.172.75.14) To MWHPR05MB3245.namprd05.prod.outlook.com (10.173.230.8) X-MS-Office365-Filtering-Correlation-Id: 9bb5eb8a-069e-483f-b6a4-08d4458509ae X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:MWHPR05MB3245; X-Microsoft-Exchange-Diagnostics: 1;MWHPR05MB3245;3:xbCM4O2DvmGUQTRdrNhAOZcKsIC6ENh7RrA4Q9v4hftJaIHy6zsz8DY9oreByrZCSxrw1cPaCB7Uf/95nBUqUpd37R7d4olGsUJWPfIytPo1Bq0an/YjAW5TmOPHEgQSAU5+L7GgLYpN6ySD96/XvDcDtZJtvS0x0uIpQBLmirTZDWTHNTvo1ss+Vf0O+3LjT6LOg44LNbPjSNRgwKIwH7ncyLgwaGSEtj3SK+81R3/6AefaNndi+N0HM+uC6luYFKD+q8YCGETn46K6S9IL7A== X-Microsoft-Exchange-Diagnostics: 1;MWHPR05MB3245;25:jOeHw5ejNR41a9Vx4h5HvwguCQ0Z8fpxFEs50gZhVxfdnAD+kJ15ur9O29n/F6Rb9SytKHgaW3N8GO/EF4oivbz8jZlCOGzhN+9Roix34+LGQlfVZTAILcAiUV2zF0plvSYOSqFaUgYiBB9oXbqe1pRnInJI3jtDnRKJIHWRfTcRK3/SprRetZ05Fmb/bVyrxEPgWdHx+ypYS7kQIs7Oyrcjitdz4HFDhaTEc0Xo7pnjzuhGQvQy2HBh3grdb0XvT2a43aJ39aU6mK95GFpLteOBUPPO1DLbR+XpH5b+MDLQJhYpaIGbtKPQedmqa3n4plTAQWjVlPZuACDmlbzu+jZj9fqvVp2CHl3bs84rpUaNtEdhJrI5ueQ3lPdU5oTyDrJigHlbiGoqxIAt9fBbcXKlA6D0V7T4Um2D6Q1fZKkyexdJB5x7UiuupVcDalRS189gSPSBJtQSgN4I8LEVHPdP+EiouOt1OeXNW9sa4gx1UhRHf95Cj3VmXdQQ1TqrnWDkF9BTGMtDmjuE3ED0wCdv1xAHvf2AbFIRTihK44j5nAZDyvM9WZo3oIhRtC1OZd1Ei7u8iUdRaPHOK7H62b+LDExzHKoPQ/6orpX4SIPGiaj74XnNAnWsF82WIpdrKIPSly78Fsyyp2YYDS0XqXsGW+GWt0sEqdcOlQfzA3e0qz+0WghbhQNW4Eootis3 X-Microsoft-Exchange-Diagnostics: 1;MWHPR05MB3245;31:dTqmRepP5kcpLX5QG075fxF+fXlfB7viKpAqkkxKB+v5kzVQYW806PcZvss3yCdEDxWC0aQaiyxmSvjLqo/TxTEq9134h+aFwAQRxpx6d3kJURBdaLnwEp6XNXhqjDIRkVny2MZcHbUueXVrpwuMAuc7G2kpFeVtWJgQkKhcp7kyRYEAmJfTTEe3tSCmhyVdRKbF22GdkHRjQyborgf645qCSZk899G7sEcrCXvK0E6uU2m+qNvmVt+xIGTS1IPq95gLzFdrkbGnpMP88gy0Uw==;20:irCfZOi0+Mz9cw0t27UFo0wqpdQMofXGk/u4KM9uVulMfuuS2mhu/+LULVLo8M9cYTTJ3Us0k242+8NSvRv/SQVP9QfZ6pqVb8UKXc1CCgHguuxYH6mebTDZ7wMkkHa0Ihl0ZSNMAfqL635Mrj7G9LCk93a3Krr4AyuLVRhRVVgq1/CRPcJzhJqGNzQgfJe6WQDPkkLgfPCfhfO07n97H1Rkhzrm3DCla2hbGru2AoUdYQPo3GvzC5uBWcYfcSUXHmefDwQiWvJL/hb3Z7/RQQzkvuUJkfNUKSjEgdRmxPudZpq/OSlscCSrjkW6isWvgVXhhzfreAiLdXLW0XgGvp9JZjdfGDjqlcKp5LDEW+cxkgHFQQawKarNVf9BTDDqRElh0QdxGYp6VOipylYb7KqfPElhQnRwEs/u7DtLfOCG/DivQ1hDgVsvki1EK63eil0WbPhlA2ioDXPMnWBCOCUPGW+FGCMsQ3ecMCIiH4vTe083ivh5Xi8f8jyVaob5 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)(3002001)(10201501046)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:MWHPR05MB3245;BCL:0;PCL:0;RULEID:;SRVR:MWHPR05MB3245; X-Microsoft-Exchange-Diagnostics: 1;MWHPR05MB3245;4:OJzcJVobUSNZfQVMc0+0wzKyktrvdoxnZb/g54QFw7gBuAOXPdQNqZnzUDszXaFSX3cemWARqgvCrlDihwq7p5jpJoq5KUyjN+ViVjelCeh3Wveal8f3OPHrhqskwMCwBcS2T8sE2IEx3RMraiKjevXziLJUGOzlyqXkAB+CBDGGNwmwK3F8zteOIkhPmCgkKzxU/kOMDsQ3tJah4WEAQR28dWj0qVGPkGvnorIICoDZ84fGJrvWBAIhiC9n9byAwX6c+QMKr83YZ1L+ya3kh0R/P3vYxT25MHPfpdcvs/vySCT40Yvh2ftYkEAab70HIs9/cjbTsCQQTigIULFiI7XCxa+7D9bTn0wQ/FT0e7Iw2QvQ63Iz9c3vJVSTk9M3AGrKJCIaAbzmd5k01y6RWctOTNSVcZ1p9XqzoxObcBLKzK2svhyfiqDenOrjVC/Iu6jE6MUV6FNrOGBlBLHvoxKLFmzHaV33+awjMlyuzG8N1IlCHbFpbM6dUjRpMtA4dmkoDw2k05H4oDsLj/zLOXUNnWDbk1DCrPDpNVLW691/PTGGiReJTmtckn27pTSsjPRz1m8aGCQ5jsIc73geFF8efilt2KNVJPc/qkaIQ+s+/HIzn8RgrssCShiygPsrfQ8IwapLJSTRgCc8DUfk+xk0rO4aKs5Atq+Dv/CRDYfZwh1FXV2J0Az5uOtE7LxB X-Forefront-PRVS: 019919A9E4 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(189002)(377454003)(24454002)(199003)(189998001)(305945005)(4001350100001)(5660300001)(6666003)(38730400001)(81166006)(105586002)(81156014)(68736007)(8676002)(106356001)(229853002)(1076002)(6916009)(3846002)(6116002)(110136003)(86362001)(2950100002)(2906002)(7736002)(97736004)(83506001)(2870700001)(4326007)(21086003)(36756003)(101416001)(50986999)(92566002)(54356999)(76176999)(33656002)(50466002)(23756003)(55016002)(8666007)(53936002)(54906002)(69596002)(47776003)(66066001)(25786008)(42186005)(7099028)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR05MB3245;H:vmware.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;MWHPR05MB3245;23:6xjhPrdqw6Rog/Wxd77UpbRqBk3827bc5WSQtr0?= =?iso-8859-1?Q?5QUUvp33/qkmir4h9Zsd91taHXj+ffSqFc4XEDSOxhViuRPRbFnrgr3Qsc?= =?iso-8859-1?Q?cSlBZDNwKso9YFOFcC5/uoK8XmHl8MMJkBl6LTFjGlEil48myHK+ywnYFB?= =?iso-8859-1?Q?uwLysO0h4P83qvAG4Aw5CnZimcD4jTLxP1ehFmgIzpWjG6CNWds2bAtyC+?= =?iso-8859-1?Q?zdpsUGlU7H9gU36OSR4db35u4I1avLmcVY12ZaxdA25Qq+YbJUG8wWkque?= =?iso-8859-1?Q?9GlVDLGdeyDCb+lNsmIAv4EHGEcwSJDdUGAZTmD6VHoZlieaeR9nQTo/db?= =?iso-8859-1?Q?DkCC9UTdfYtejz+p8XpJlbTeG3tBIokrynag4GJjVl5jifluzics4quUZi?= =?iso-8859-1?Q?AJEeUMnyEgs4wpMFFBLTWlmFpTQu+G8n0s+asQpgYAOTrU8NU17LasGy9r?= =?iso-8859-1?Q?x0NUrtmz+iu87UO9ofPkTyGJw5OdPGqLfk8sQa8wwRd8BqXX+xbvJtWZw+?= =?iso-8859-1?Q?LTgODUbIMsmGnyiw7J0458djpay8ReTx86P1NKKhnWHM0ntt5/Sl2XJ/AK?= =?iso-8859-1?Q?IEPzJfzPtIDtZuQXJPWyNXqHyk0792+7eMqKHkW5F3bkN3rdY+9G4ZLU0w?= =?iso-8859-1?Q?VSAz8ylVTFGrUGbT0A2/hXCCI0ztxY5VN6fCikWk/2gkwS4MTVNVO7lPWw?= =?iso-8859-1?Q?wKa3P6WmqyoqYOUSt0cpyDgSRq7Ivpu354sc2Q8F6Y4tCVhq6FtvShzcc2?= =?iso-8859-1?Q?K/5a1FnZjUBoiU/F/K9PNVrD31pNhj4OQ2SupF7PwNNfX0pE/iNP3yOBhm?= =?iso-8859-1?Q?htVMYZthaDrfgdsAMx8Zqh5EScgxKomNnaFbBCOmvLGKWEu72t6UZmwcYU?= =?iso-8859-1?Q?DHLaAZwHgA8viAYCQtcL5+hUBLOCrzv9HAcjX8vvYls4wkwM4nlVJTM8Oo?= =?iso-8859-1?Q?WrZlM0gmj3aaDVQXXdOLYlW6I8hm8eJgWrdGdpfwgMj03MioK4htwr7dfl?= =?iso-8859-1?Q?virbU6yqSudr7nqC1pYluEYbY7rH7MK0u+MTRafXdrTwrvNH+Ak8U/e2X5?= =?iso-8859-1?Q?lQzJZRoWmo+99+VlKkuwbK9DRtrZAWkwcjGgcR1Iguh5LQUkCdBBIykw76?= =?iso-8859-1?Q?+KB2e0uF85oxZHUFWE8SBYn0s7XsbREuzCMfMFXB/uQRRh8NfWbIqgkOVq?= =?iso-8859-1?Q?N95rJbVLmqj9sdQRpREqDKPJpNGOix8aaJcb7uZt+MY8bJBCfyHsNPGRQr?= =?iso-8859-1?Q?WfomjxeFtvPgM5igkqUFMClbtTAFy72Nu8kC2zc1QxqpaMoHSD3U7jFKor?= =?iso-8859-1?Q?HfJqfK5wJtGUZU4QkO97NMSAUzkmA7qIJqUQujjuUia0ZhgOYRIqdO5vIl?= =?iso-8859-1?Q?oU/pJlJQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR05MB3245;6:POCOoafxbd30TutWkLNH/oGcvEi7L1LfI1OozzJYRW8XwjDUxXq9eqiVbU8Sc67AOCHiHc7ZjBsVx9oepFeexVSI1xV583YNqEa6eOsVB+2wGbb1eNf5NpBSzrMExJo0yDqUQXoYm0xZJ+cZhDN5vxe8kYhdMajkUZt+Q4csEY8KCCMSCd11qq2PqhcNIWCfQxpa46b4lLjx6FSgdUXlZi8uJkOYfwrKKzYRJ7DJw8WVYYDMR+ZNmeUmMztbkxnEBhuZDUmzfCzjhpKh/3Z8Cu9NTstcwrdkH/+wtVpdBIkD+54D8zUNKtpANEVcAwFUGgfyuac7JLlpAkcZVDwx/8uJrl+n/vI29Qe2JnzExo4wrN7nMQ6OrjkEkOrdrLZ8rNpZL7Lk2Ntxnunhdr/ktuvP55bP6wZO+8NPPgmTnac=;5:5LnwhCetzd7TEVj+quk374rF3JzrHLg0oQFee5gMigVkk0831srVA//fdiJ1G1fleUGwUkju/SKa/xCacT2aTmBDkOz9e7q+Wz0AUHo+/kc9Rn/UYYQSrBwPe/MrMn+qhB7zS1YRsnNw2fdG9ywHAFtyChHF3aAFi7X/utnfbdQ=;24:OxzHv4SCso9t36mfxJmN1OZbH49uxyY0fV6yWf7DMIN96inXueKS39n914574iQepi3sIvPYZ5nq/Ph0pyXoVIE/u1+INOP5xxJ8bXUgfX4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR05MB3245;7:ejq8iEVLTzG+eDoM7Jk0OUUMgEMeB/Tb2uBubNfjrUvy3wW8YcEBVdt7WVISrebUaJuZHrkidfaqPL31ddxoi+IilzXQ3HCjc/tjbXxU+hNXjAvkI75FP578cxNBtHxywVK5qBjzquBbE/pzN6a0Ei/v/oTjUFnaN9zl9w4k94KgIM/Li9N3wpJVyFww8zey8dQcWsWz61C3x+IB6PIeyx8UX1rIY9VBCgLpoK8OAg7Y2MotdsQETduGdxWvb2mp4BNIDtN0sKB6gI+m7/vFnHty+nXJeq0ArtGIZEgmOm4S/bAfRbmu7G5ZNfCRE1iqem2X+9KTsk1NhYdd0hUDO285UvM1f7TLtljw9+eUzUB3QtOhZOu7PiHL0CnOx45RZ8Mopqf8FI9Bdp7iiyM0EEvEvWtEnsp2dTMQ/wW6h78tQHpUE9PLuziw1mKly8QNQPNYh6CdSonjKPHMckRuKw==;20:i83WflSEgxo0dYchkvzp0RQuG6P9jYZLi8rkYemQ9O8hrOOuy9ECnu4QGgGU/QBB9v34DnmW2PzugpcQdmDoiHsFK/ssBfZBr2r01lEQVGiM7G8YbncZ9QEYpTxUdbNQC7D61e+pET81BW4dN4tWxq+/VLXnqJApXrV6PZ0/lwk= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2017 00:48:25.3467 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3245 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 25, 2017 at 10:49:33AM +0100, Christian König wrote: > 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 . Reviewed-by: Sinclair Yeh > > > > >>--- > >> 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; > > >