From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753817AbcERQhL (ORCPT ); Wed, 18 May 2016 12:37:11 -0400 Received: from mail-db3on0058.outbound.protection.outlook.com ([157.55.234.58]:55328 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752594AbcERQhI (ORCPT ); Wed, 18 May 2016 12:37:08 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=mellanox.com; From: Chris Metcalf Subject: Re: [PATCH v12 07/13] task_isolation: add debug boot flag To: Peter Zijlstra References: <1459877922-15512-1-git-send-email-cmetcalf@mellanox.com> <1459877922-15512-8-git-send-email-cmetcalf@mellanox.com> <20160518135645.GJ3193@twins.programming.kicks-ass.net> CC: Gilad Ben Yossef , Steven Rostedt , Ingo Molnar , Andrew Morton , Rik van Riel , Tejun Heo , Frederic Weisbecker , Thomas Gleixner , "Paul E. McKenney" , Christoph Lameter , Viresh Kumar , Catalin Marinas , Will Deacon , Andy Lutomirski , , Message-ID: <2da7620e-dc23-6a36-e5ad-757441560127@mellanox.com> Date: Wed, 18 May 2016 12:36:46 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <20160518135645.GJ3193@twins.programming.kicks-ass.net> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [12.216.194.146] X-ClientProxiedBy: DM2PR0501CA0037.namprd05.prod.outlook.com (10.162.29.175) To VI1PR05MB1693.eurprd05.prod.outlook.com (10.165.235.155) X-MS-Office365-Filtering-Correlation-Id: 33eeb0a4-61dc-4591-07dd-08d37f3aa442 X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB1693;2:X4FiTDLiY1KMbF9mH26EsLungj0/NamP1ai94rYqbfQJ+cKyVs+J9H48z1MF0+2Ts97fNI1WDT3VFlqo46/KkkP9184iIcAvO1/h9IJX2UkCFgJiAULKvu3HlxIzjL7EIWjdOQugdgSHWCAu1R6pRfxmKlLJqclbopHFSmaHXeyZ/ozZQVvLN+167KsCW9jI;3:w3KtXhOkFDbs6CoGkzFw2KI5iyDDxZliXXaixWGYml3hW6lFk9IYQOKCnu9Gip1ZxunCkJzsdEXc9q70rvM/g+74jGgo1EM/2U1149y7IaDKR6lhae09pq0rc3P59Sx5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR05MB1693; X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB1693;25:NMjc0tgg3Cmhx+a7dN5x2cJgphHiYh8utdky1EtNkI+rHh96s4ALYBPJ0/Wa8fQIE/ijTkqAf39Tj6T7fl+gK42ZHEpogVxrxckLJzIJixvT9oYZYQSRzubMgunhgOEihfNhmFJcZfJ6MKo2WAeYTNnz1sEW3gxNHdmpy7U9JvgwL5szTGFvSVuAudx03w21twyV+iiuiek6MuPhAPV5lvqYLybaum9Kn5RLlVxEWsJykR9UGclBTgG2sx+9KGMUyME9fOdKZGsaRXcBqDJOTpnoPp4H/ynTe0UrY1C63cBtXiPZpbm/6iPFN6is5PhLZWw0P1i3loeF82S/mj00p+zXtpiJAfHWZ+JY4A6E4SWwyXzTPgga3Xcgz9uUQ48AC9adrcg88J5y+cMi5omb3TipRGqdpvcDGuqt3ZfEtCYA5/5ixt1CITznEtSXFugpFzVc7NkP1p10dNpUhKYkLyHoEyW1Zjs1o/V3coitQB/5QGH9ZV1zol8SlVsrr8aZOdinfOVK6Z/Yp8zFY4lTkogciYIOFWTWL+uepau/IcR0TxqWU96W6OwZHhntLPOjVCFqbgr8ugyfB3eK6dpb2UvTS/dKGHzbug9vqqdBXaYkr8JcOlsjJOnPpzvfSijHR1e703JM9eTGhUYGo5HUEMtmD8y3eDujS2IqI+zrafNzQGXYWtAGI8OVwvnyJ/xtvFm1DKV13VobBt7i3DD57nyWchqtKtWB5Glf0hMBfZA6oS4oMKd1XjJJzJzt/BX6XeXRe7j6guNN/YNsdy/4yNbW/B84/V3fc9wN/1HZLGP4xGEfgDSX6Q6QP/q+eBFagT08h8Bp92bdO2k2X/Tbr7Rg0nNX7q88voKgvwIZb8w= X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB1693;20:P1ZZdsL8bt4aLhgyAdUFxURKcCIC+YYUJN9jPKIQnNx/XFp1Vfo2YcyQVMbmES9PlEhRXJS56e8l/0ebRy8KFHvmnoVoZjplHGkcqAWhaQmyQFd3p4ypUmZGkiDhpTdN7iHVDiEnnE2WE6THg9B8btNK8m4LcDt0CSoKq2r6PA0p3/9ZfuzyA3ZwDbNZ3XXbj1ePvkmnYYcc07zWCFLiBU0zjPndLhxbTgUpHQnwEKzOMFQc57jTiZulyUXtce74hrGf1G7c5dEwT3g1hDPUVrNGpjBrwAyEHrmmy+XxBySxOoqCxZOUKwDYCr3CU4xcqYMl3iQ1+Tm2N0fsl6yXQYKZRIqugqN+ZzOHwnsyBKffcelTOlGo2jG352cH4LTiu6sJ7CLMb9OyVXEIODz9oUJIjC2KDFfiRTeF6yeVNigT7lbXWtroiAFi26GISTIJRJ4g2Fj8+B/tqmn0+McvjCKXsJrRg/qEC/aZYBlzEtUWMDe9yxxZq8W+PaqoD+jf;4:Hi4BEOFdFHOQKJZah7YgSm83hs//W75j9h/uo/GvnAHruZqaHD7OliGZbhogDc/ynVW6zQtJdEtZYwhDG/SMi5uJEuO53wdhcrVsolwiWtFPe911LIbO7dtYJrrhbUgDfSihmA5bkQJo8b/2avzLaW/nFZP/H7vWvOBGkCaoxcwrnDNOnZX1zlr15I+VGF5+jWc9QB8FU38eQmEvx/JH9D3wUkekq46QJzp9hlgj+S+UeooHs1svhrCcF1/PzqX0znR7eAVHeoqJ7Vkg3XC/1q+t2dhw30EphOXL6QSeWW0KnOS7wuJU1+faWJqnL2L6A8oA7QKSu4QilLHDQ7kAve5av7kVcbDkFhtVGVpJdrw7UNBYbRDzvUv5nek2qlCT9Ldwqeqcz+3sI/VMGQPzkA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:VI1PR05MB1693;BCL:0;PCL:0;RULEID:;SRVR:VI1PR05MB1693; X-Forefront-PRVS: 0946DC87A1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(24454002)(377454003)(33646002)(86362001)(19580395003)(2950100001)(50466002)(36756003)(189998001)(586003)(42186005)(64126003)(15975445007)(77096005)(83506001)(5004730100002)(47776003)(31686004)(92566002)(4001350100001)(110136002)(31696002)(66066001)(76176999)(50986999)(81166006)(2906002)(5008740100001)(8676002)(230700001)(4326007)(23746002)(6116002)(54356999)(65826006)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR05MB1693;H:[10.15.7.169];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR05MB1693;23:nvWYIRyUOCcW9Kx7Ll2h3Q78H49JMEtuKrri5?= =?Windows-1252?Q?OLXgZp2zIKkDdgcufdC5sjzmTvgR8w3yyLOO1YXss9X/pnCr/U+Zkd0n?= =?Windows-1252?Q?B4pRDGWDVggvD1SgJbOn3cvrDnpyALwxVq2Wvd33mN1LCgkWZunkhck9?= =?Windows-1252?Q?lFFY8pH9TyjUIWvSKh3rvHhdVcwqeYBzJJnOJX+xJiEu218Xf84EERJH?= =?Windows-1252?Q?jxhHj3YdPZbT79vyOn09LFptfLQfeWeSckLiDTwGQwzSdIGr3rRzmlVs?= =?Windows-1252?Q?NqB9a85PWKHErdIedQLWfsBGZA73StQfqbiBUJiWSBZljb3srBX3mvll?= =?Windows-1252?Q?QVscEzP6M+A5tQI0rlsVG3GmqyS/d6Ix0fveNnJeOQYmovrPO7VXRhej?= =?Windows-1252?Q?MHDCpj4uEuIbRjJtbaz625S/IClVnWqQox1MXfyWaRXuqyDV+oyOpTUO?= =?Windows-1252?Q?J4gHj4UvCBAhJ2kdhSJDzs3o0rs4OdVj2tgadFn/8eUGpG34lWJyX0KM?= =?Windows-1252?Q?HDzUkUZUh8MkbZ3Jb5ZNlQYVW2D09+N0F275yNllclSLIvHdYMTqOT+r?= =?Windows-1252?Q?SiID+Ps617f66MMRykYzo2QKclf22nNfWdLgLnI2ibvLRKGU3SeoUDuf?= =?Windows-1252?Q?NNU5x1TndfZzEiRkgPlTBxEPkDCYF52OxCUhG+VX1BpnoT6NS8stKIda?= =?Windows-1252?Q?QHav0mr/lhuzljpZ3F318MqUht+ib070r5fjMHw5j32RZ1HqE77HlOd0?= =?Windows-1252?Q?+1OFvBF/ry/y6nZN1MZSwVy5ImvE2DsfnwUV9MqZv4FTwyqiK3/mnVFp?= =?Windows-1252?Q?akbY66wjEPBSSmNXlJbVIYTBgn6pY+rZpoHra748ZF8sCaK0RUiixZ1F?= =?Windows-1252?Q?NUxKhjxqrK1BfUm0kAbkJrWyjjZ8GGNKqJPvbK5hK+T6x/cZN31D7GtG?= =?Windows-1252?Q?RipFCyJb8JOvanTGpdpvNJAF3SY6eCYgOzCEf6vrjI5PmIiIQ+F7YPcO?= =?Windows-1252?Q?NG66/pEHVNN/lzBuFVMptJWgsgQYynqmqFulyq0pBpd8J+UipS51dAGm?= =?Windows-1252?Q?MCOBRFFRY3OXDNV04IFiaFfCgkZyeITZ3/EwpAuEYd1Zxr8egpyM45KQ?= =?Windows-1252?Q?OjUsNoPhBqO78KnPk+U3Hs=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB1693;5:eSHrzwqpGnVf1vDfjIKln4VgN+3v+1ZXLLilwBUDDBMMoGTMRKUKFvTfS30rmJO1nPjVCV8lrUKJ3eaoN6hsWa/sxtlzxT7V1KXi6Lfoul3GHsCi4IKyKn10nKsSEmfyD5QpAhHcCR1+YegFCKjrMQ==;24:LHULD4YeHlFPUGw58PYZtG9DFtyKClFaVExmxQzFQh6jMxPAtEdh5t58zbUNNA6h+sOe3D/sye/kiEpTraQpUJwXexuSCNSOw/ISICHyJd4=;7:t+z0KS6XliOXlG7ntV9XcBh26VmlpKuZwMMqVU2WpfIABgcRfwr+GG0bZUJCV+6+YtwM1Gni1q/D9GKNpTXlgYrzLMZ1nzzdhl+vQ1aeisea+vQ4SwluSelsoaZtr+BZBla9c9NTuW/5ggdew2oblwvRUwm9gjZboCtMbcTTYbA= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2016 16:36:59.5148 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1693 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org (Oops, missed one that I should have forced to text/plain. Resending.) On 5/18/2016 9:56 AM, Peter Zijlstra wrote: > On Tue, Apr 05, 2016 at 01:38:36PM -0400, Chris Metcalf wrote: >> +#ifdef CONFIG_TASK_ISOLATION >> +void task_isolation_debug(int cpu) >> +{ >> + struct task_struct *p; >> + >> + if (!task_isolation_possible(cpu)) >> + return; >> + >> + rcu_read_lock(); >> + p = cpu_curr(cpu); >> + get_task_struct(p); >> + rcu_read_unlock(); >> + task_isolation_debug_task(cpu, p); >> + put_task_struct(p); > This is still broken... I don't know how or why, though. :-) Can you give me a better idiom? This looks to my eye just like how it's done for something like sched_setaffinity() by one task on another task, and I would have assumed the risks there of the other task evaporating part way through would be the same as the risks here. > Also, I really don't like how you sprinkle a call all over the core > kernel. At the very least make an inline fast path for this function to > avoid the call whenever possible. I can boost the "task_isolation_possible()" test up into a static inline, and only call in the case where we have a target cpu that is actually in the "task_isolation=" boot argument set. -- Chris Metcalf, Mellanox Technologies http://www.mellanox.com