From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753809AbcADXmT (ORCPT ); Mon, 4 Jan 2016 18:42:19 -0500 Received: from mail-am1on0092.outbound.protection.outlook.com ([157.56.112.92]:53201 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752313AbcADXmQ (ORCPT ); Mon, 4 Jan 2016 18:42:16 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=cmetcalf@ezchip.com; Subject: Re: [PATCH v9 06/13] task_isolation: add debug boot flag To: Steven Rostedt References: <1451936091-29247-1-git-send-email-cmetcalf@ezchip.com> <1451936091-29247-7-git-send-email-cmetcalf@ezchip.com> <20160104175220.310be95c@gandalf.local.home> CC: Gilad Ben Yossef , Ingo Molnar , Peter Zijlstra , Andrew Morton , Rik van Riel , Tejun Heo , Frederic Weisbecker , Thomas Gleixner , "Paul E. McKenney" , Christoph Lameter , Viresh Kumar , Catalin Marinas , Will Deacon , Andy Lutomirski , , From: Chris Metcalf Message-ID: <568B0348.2040601@ezchip.com> Date: Mon, 4 Jan 2016 18:42:00 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160104175220.310be95c@gandalf.local.home> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [173.76.23.146] X-ClientProxiedBy: BN4PR15CA0032.namprd15.prod.outlook.com (25.164.54.170) To AMSPR02MB120.eurprd02.prod.outlook.com (10.242.92.155) X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB120;2:UurObPj0UVnCTMdw+lMHIESJ6icNUvLgeks0gtvjySEpdKVoMPfTFsQRGa91uyzt/jTnrU9CuDu1Rae3fqtiUN0inPiRABmcTZCNTG37468KgTCVUVVgOrmsH9i8Wgnwy21ZL9ZU9VUgeXqZ9fot3Q==;3:WgcLqw+vw02HeMV5+2XgJKReHPI5PBTIQyI1c/qvdozu7fr4M7LEAhPp0EvyUby3qzf4A8AC/6jqSVaA0vx6Kr0qC+GKAuKFhn3mccg5Le8kfXGy+6VAsCBKUvIZLUHe;25:TD+BmlYcCiDEhC6+BKsWZWaYDkINd0HzQ9BPXTulwQjUmFx3kT/PCXECMD5+bBkC3htAc6SOSfTQ613sWMhK0UgnZ3B1TLs2KbwnrmD8JOaQYP6ooXvpYZv3JJ4nFk5lWV6XTVad+tTD8Z8cZnMuRqunIMDxCucKc6FUWB2c8byNgkjE8zMoHVhEtKYrHgazm2R3yN4T9SJA0pCxRDmtUxOz5RV1y+KjzQg2IvP4fZQomEIAxHhwEan5xbvOHsW1S2Wdk/l5A1uHivp3UsL2zA==;20:00Ixzq3A4NJ651HI9jvXEsRS//NSF5PF8tW+KRY1Zv8Wjo2SKI/451ZVCMKIM06t42V4awgYVJKucFAIbINjh3nzIlHLu/SBqxf1c3CNrHjpUfZ88boH3eLnNHHN4OF1wVLxe9HC4UhNwnnnj42ro0HVOam1BVB5tAbJiWiGs98= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AMSPR02MB120; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(10201501046)(3002001);SRVR:AMSPR02MB120;BCL:0;PCL:0;RULEID:;SRVR:AMSPR02MB120; X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB120;4:xq8xvHJawiKCVrQU3BGKn1Y3XgQ7AVX7iwqnUXx8qd0tREkWxReOpDEIRWuCgOCoydk+Puhw17yLogITywVAba2QFFh2SgeJmCKwCpsj4ThLl8rCyHmNqaC4bPJT0lhR7q3pezsC9MJHA5GaidYmj4dTdDomXi20cHblfwrVWQ49Jt6s3T1915LF6QZoykq0I9bmwuf0WfQ4UO52z2SUL8UFvyJIfeSqMwhxNib+ZDA20+9ziCXh/wSbbtz76O7ZV3AOZnQNrGkoMJN85HAyiJmdzRHswl++ysO7ZXA2chiZGh96hmm2M8PpQCs5IDhsR48qoiIWfeVUY+kPZIwbckF7/JmdkOOzYpQMGKmp1KytAKc47Q5dWeLO5+Vd7lxiMEfnjdUw8/aREqLZ6KKZURISjQYLoQJGiRtZUdEaI1dFGSQBE7ttkj6jLo7BU20k X-Forefront-PRVS: 08118EFC2B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(479174004)(24454002)(189002)(377454003)(199003)(47776003)(81156007)(36756003)(230700001)(110136002)(19580405001)(106356001)(2950100001)(5008740100001)(105586002)(80316001)(19580395003)(1096002)(50986999)(15975445007)(59896002)(50466002)(54356999)(122386002)(586003)(4001350100001)(117156001)(101416001)(4326007)(5004730100002)(65816999)(65956001)(5001960100002)(66066001)(97736004)(189998001)(65806001)(3846002)(92566002)(33656002)(6116002)(87976001)(64126003)(87266999)(42186005)(76176999)(77096005)(83506001)(86362001)(40100003)(23746002)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:AMSPR02MB120;H:[192.168.1.159];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AMSPR02MB120;23:Iw5rWFkI9YwZdapYRntmpOk8nEYiGfOEKbdq6Y?= =?Windows-1252?Q?dTzOtMlJWXCSUi6pP6S0V4CXhrAQi2u64KnfBiabZXzz81kYmMWJylE4?= =?Windows-1252?Q?sGuwNHQCqJFFtmI+B2remLlFxjp/z8OrQlgVUwzlXYzkS8hGWmz1cOuj?= =?Windows-1252?Q?eQ0JmSJ8FtSi4JrfIT0vNd8GpGl5nlvf+LgDiH13UnlQPCnzoT5fJaAb?= =?Windows-1252?Q?gINhreCtcpEBZz8z/TSdg0/IQVNtPgAufqMPbVqygQsvgG41S47TuQLJ?= =?Windows-1252?Q?TiQ4WspRL/7WfWGgBIPJdsTOxhZ7znTVs8DQSAB4lk009tqtaIjFKn3j?= =?Windows-1252?Q?F9Rlyc83D9nIKvhunBQvl49t4nwRmLoWWmf8NxgZSQN7tKFjx5KemQXi?= =?Windows-1252?Q?oB+JP+BSlmvupgO3wTXRJO4gvCsQC6Ux/zI8VnJWnDpRGmg/iONv+8wG?= =?Windows-1252?Q?G2wAJrDJDqZVNnwkBcB9VpmKDrnSmIvRQn3397dp8F2pkqTBv7ucn2fA?= =?Windows-1252?Q?8OTTjZotz/h1BfTuSVGYwIzNHsBAYjIK6AYYLiBkeWeKUZNxGsX8z684?= =?Windows-1252?Q?n0C7ae9PLbHj0Dz3vGrSIn+IX53k0fXnWXFK2rdIZigjqO7PKgi4b+IJ?= =?Windows-1252?Q?8P2qrFZ0b/pyaLGgNNkQNuuTvpWfunBNvjqSWLk0p+FZuUpeyN61uvC7?= =?Windows-1252?Q?TFrh64uhxBVHlQGYR2hX+kLx8q5VdJkoIkboagLwXL+wXCXiDGhJJy8Z?= =?Windows-1252?Q?lHhW99zpfQgixMVQ77AN2birr+ykhV2qy2s3S9wEG61iA4Wu9EdWQJ0K?= =?Windows-1252?Q?F5KAgHlc6k85qEM3N4xh1LjMFWMLnuLQNxQlqEFhEZmf/RON5e/5Ll/p?= =?Windows-1252?Q?KGqfnrkgOsYiv9H4ejsjFc5g9AEaILmuLUjDNWdYU/3KMgqC97dy6HnD?= =?Windows-1252?Q?fMx+h7TBfZklXzP9pfog/TF2WNG72mTiwpXElxXFDg31WoN9rpILLIuR?= =?Windows-1252?Q?v3B1LcdU4aCRSMMDgaISlE4Hkn+7mhKy7/iEJnEJUiKXzyEsQupUeiOE?= =?Windows-1252?Q?WKI567UVQKepKzBe9/v8hvvaWsf2gHtnChVd1SmkYNkFXTLKucPVtr4v?= =?Windows-1252?Q?weY72IGZop9DAUYaQew3k6mVvoLJDH8qYM7kyPLXuQpI6GtliiVducul?= =?Windows-1252?Q?5QiSpdTJcMLdXhSS3kLYprDDzz4Y939670avcpxyGTVxyudlD7wcHudt?= =?Windows-1252?Q?1gsXEPSvoweEY8wgaankGnex7zPBCovZC1bTt9efonF6IgBT95xvyT8O?= =?Windows-1252?Q?c/+Cjqi3n/kwwHS7VKb5Ju0+X8IcpDGZ3ekvcrmNQtG1QOoLT3nah6PF?= =?Windows-1252?Q?AOFGbUvnKMpDsbmBXXNazSt0T54z+2vWT6PxSWt01KkaqWDCpMT7DJfW?= =?Windows-1252?Q?M2jDYGjcvRSj2LhRnYadJCqHLfvf7e8q46+OBR4l3bQs2GBiqwfS40qB?= =?Windows-1252?Q?egmKc=3D?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB120;5:Q0dRVEVjrx7PU0HjYKCya42gEXAdZRZaZ1eJ5V8QERhN/+fQVH5tPGEyRUAP0E3lcVPirJLq7joAF+U2cJ32QZdXfcWJr+Ip27MvwU9nijwqHGYzNgQeK/+mk5lfsA5HYOh+9NQoutjwOczOPU/flw==;24:oJKFEjIiMQtzypYMNH4BfSmSkaEHT0+KCByqjnfmFZR1SrVEf811QJUwrwLMWSRH5UTr8zV9MSLLChV5xUN1rfPWf3gypGV7EchIB0MwOCE= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2016 23:42:11.4639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR02MB120 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/4/2016 5:52 PM, Steven Rostedt wrote: > On Mon, 4 Jan 2016 14:34:44 -0500 > 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(); > What's the rcu_read_lock() for? I don't see what is being protected by > rcu here? I'm not completely clear either, but this is the same idiom as is used throughout kernel/sched/core.c when mapping from a pid or a cpu to a task_struct, since obviously you could end up racing with the task_struct being removed after the task dies. My best understanding is that the rcu_read_lock() holds up the final free of the structure so that we have time here to get another reference to it. See for example sched_setaffinity() for a similar use of the idiom. -- Chris Metcalf, EZChip Semiconductor http://www.ezchip.com