From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753677AbcERQf7 (ORCPT ); Wed, 18 May 2016 12:35:59 -0400 Received: from mail-db3on0065.outbound.protection.outlook.com ([157.55.234.65]:10880 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751992AbcERQf5 (ORCPT ); Wed, 18 May 2016 12:35:57 -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; Subject: Re: [PATCH v12 10/13] arch/x86: enable task isolation functionality To: Peter Zijlstra References: <1459877922-15512-1-git-send-email-cmetcalf@mellanox.com> <1459877922-15512-11-git-send-email-cmetcalf@mellanox.com> <20160518162359.GK3193@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 , "H. Peter Anvin" , , From: Chris Metcalf Message-ID: Date: Wed, 18 May 2016 12:35:40 -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: <20160518162359.GK3193@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: DM3PR13CA0009.namprd13.prod.outlook.com (10.164.193.19) To DB5PR05MB1685.eurprd05.prod.outlook.com (10.165.6.151) X-MS-Office365-Filtering-Correlation-Id: 9d6f94c0-79fa-4216-6043-08d37f3a7b14 X-Microsoft-Exchange-Diagnostics: 1;DB5PR05MB1685;2:pcuSVo8rbHfNCMUZUrz3t97snSm2QAN9XJ1zTjKNAffxiSXeMRwkQByK8sdSwbSQlTzeSAwvGX5Os9tJsOFlzmn544mX++bqJYh3jGe+zY01LFt5NxXaR5BH4aWqKWLfnWpaUdNfx46BEuPnT7U75Z6JZh8qLYxlaQuxrpr846ihv0cXtcNY5ceM0pnP4Psa;3:UrmCaT2c9goN1IFGeZz1BGonaWIAki6pcEWkbI7AY/ixGbE5weFDaAzL0zsNMF3L1/o08Ws5lnuQEYL0ttZ4/Md9oEF0U38Zttv7C+0IcprsOcddTL6J+H828+qfk+pR X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR05MB1685; X-Microsoft-Exchange-Diagnostics: 1;DB5PR05MB1685;25:y5tk4SjepExsM88cOpk0bg2XDnB2mox5oxOtv3r9+HDkYQguNi2Q9V/kUmN9s7iLKLNFzCyEdCqgVz2Ue8q5r8k5XPfP71dKxb+HlJ/m2Oa2LGL/t/CdK8kELqw7D+HVN6xzrxbsFaMxZrerGnBFjhNzeJeGW5CQm6TwpwBvJMx4malQ+I/me2MUjbtdRIQmEM+3Nj+wEymu/PudSLyByMJvby1YAjk4rRrb8cauAadyjMRXCgfnVK42zkfct5XZASUTdN/RW8WmLb/qXjv/Sfuol262UTpue09hEWL8pZrJdcDeO1jer1lQdsRm40dqzIQWRf0Xcdcnz9NFE/hriJhASMQAhSWfhMPKWUGwGOzHuHtm+LxVwNBQAQSEv1MqE8bRZOchXPPZE+0Nkx4Wp9DudpRI7z9t598mv3Zl2vl4XMz11Iju5w8Q8pw1om38h9D07pb57knL/MI1+u57LL34pdELviTBGfj0rHd7EYSQvcj7iBiUdduCnPfOHPRGN/CqavocR1FiQBKw9cSWYzjuRwaQuXVxvK/hCRq4Tklp552xTT9A08OtxqYTsX2sj5mbnu8K5RziOP+3cV+qDgIDQ3XMxIlVXYYDywoOVy0zUdhc5LMMYe4HbUAaQGGh3rH8gKWgE5HW7HzEhvFxnuhLZr/teyOwSRzJWBTvSZfdQRNl1UbsKEg9zUYpYiT0EecU6hHdQTh3U7Km3szitqVQa5Cb2U1FtiytXWKYpPHuk4gFq8eo5eMZySfiF1YC2dnhCZ+Kxg4S3eW34djqsUs0cgU+YAJAsCCFnO+BciSXTf7DFiwr3hnttip5gMrfK5q1fwAmhvUkQhM36kAVkA== X-Microsoft-Exchange-Diagnostics: 1;DB5PR05MB1685;20:JBTIdg30KFAUEjJqA8/b2bStD8tExeDZrqfAclMV/FTP590QoRhny4+7wcxXXD5baQ125jbQlrz9lgzyGvBW0J4mdryBThBX+uOshocvIZ+xp6J021Az99odTwS5HQPv/C6i30JA7T3RPKmRD6qQsTqLbiS6BkuwBzRRHO7rAf7YoiKsQAxqtZPzYbd2Y9ZE5mtRGBUgeQjHekRRrH/ALNG9KMkDkywgfTzI7ipiPL1hEKp4FL0RlyuX/3wsjl90Zps2P4kBKfn4wE1Yr+y8G8xCGKRG+mEhY6sG+oQ9VN5HI4ocHaUTB/htkLXCBPrFEQattumgFWGE5E8e2sJbi2EG09pDf6qDPGHTy3wDNxJPjyEpQzqwp1GYXBD1Z4KgMLp5JjqJIwEJIpqD7RwhrFfQ1sb12rmCKmo5twEOvCi+uCE2/bjWvJeLfQsw2DvVeqYhvlAu4DSJfvo5cB7EfWoRnMeqztcvhyLjhC0f/82zLpIbnmg/OMoZzhBHcAce;4:bqYxAedaO5eD0ImLcMKDLLhxgNdOmtpNCzWRD4w2EMXT1rC6+F5R9qIi3UB/nngHhIM1a64RgbH+G8hi8L7Pw+CiFegQqfZItBKTocJk38uE/xGxx276+6GI06/X+kqJBOsZ2X7t+TkNLUqBhBDM5XagGqTIZneemwhd0WckqH9sl4c9pPT8W77oIuDakxPX0DZ5VSlGV67qGgLlfjWKO7YO4Z8woKdaCcGV0AczCiUIfqGJQXYn70R4pgTSkLodqI7HE0FbE7QrQ8khyWKXWLN7XZrTT1eK1zqmBSrSkF1tfP0D4ApMhQz9YOerDtyLZniS0HDMoyxc3STmOLEpQJAF7iMoMDFzQtacUXCgvu/9v90heR17DO39MZmS6jRSoJXRSupq4c9x4B6ljQJAYQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026);SRVR:DB5PR05MB1685;BCL:0;PCL:0;RULEID:;SRVR:DB5PR05MB1685; X-Forefront-PRVS: 0946DC87A1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(24454002)(377454003)(2906002)(6116002)(110136002)(4326007)(586003)(42186005)(31686004)(47776003)(66066001)(189998001)(4001350100001)(36756003)(81166006)(50466002)(92566002)(86362001)(5008740100001)(8676002)(76176999)(54356999)(64126003)(50986999)(230700001)(15975445007)(77096005)(5004730100002)(23746002)(31696002)(33646002)(19580395003)(83506001)(2950100001)(65826006)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB5PR05MB1685;H:[10.15.7.169];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DB5PR05MB1685;23:1ZbJrKEu1bnLyZmQ+8ORCQ3lXqARzSV1I1c/D?= =?Windows-1252?Q?i+nkyzo28rVuHW1YYeWAJmgtqw45YC2dMRzPUWvGy2w+dAN/gZAXtF8z?= =?Windows-1252?Q?UgYyE23buSsZixZkA+XUFrqjPc0WbhzQrE3MoujLjZpgo9ufD/fzN/2C?= =?Windows-1252?Q?lIo/5hh0NjojsiLaD7FrynK/bDabwcsSmnCULZOUd2w9licLdnBDK2DF?= =?Windows-1252?Q?qFZ7QU0+FK3CQQCEUDDrQ3xalhzi5mI1+eI7v9BgEChDYtFRkc3AtCuX?= =?Windows-1252?Q?I61scE4R2QIyxmC3gpVenCKc4+MIibjPHzPiuTIyxetDPoBK6ecgEotR?= =?Windows-1252?Q?83goQZO77HVzO75oTQgHosyDPAynzpIODlvXVYO/6cEDKOJP0yRY9iad?= =?Windows-1252?Q?W6n/nBX5iMWyyBsALCxftBijR2HVrV9g5KeVSEyBamA8caO4kYmOgJP2?= =?Windows-1252?Q?k8BT/xYtAuPqOJ5JOW0bEHaWdE8xMSP3CWn0C0BSVLbvyDl1TPU22CXK?= =?Windows-1252?Q?p/h1INqX7Ge3qP1wWKx9x20ra21UR31UQtHmBH9vPgrWz+tMB5V3xWHz?= =?Windows-1252?Q?s8aIhEYVIY6kHJvXdX3CD4CcAllOBKlqwYjqtoVId83MZPSAEgklrSy8?= =?Windows-1252?Q?72Uq8GBPB72ZUV92TdPWbd0fjb3Dmgp+KNZcN25idB/dB+ntgeOEhnxt?= =?Windows-1252?Q?LRQks5mRWc2fO4CtJ/vGM+NoyWUXYLgqwqc6FORNQ96U/q9/FM45YlcQ?= =?Windows-1252?Q?AHzgNzN28/xQ9Heou5kbpHARJh0AH7ttsGyGzvofzvtcnT7Svoe74XJJ?= =?Windows-1252?Q?EjkZ/a3SZOReKNobX8njS/uX48o+VEqPiNTaT7HE04okjTk2kq4C0fzB?= =?Windows-1252?Q?frBvwaTFtJP6CgLcdS/aaIdfGY24L10HUih2HxI2zXMK8hzvXoVQEvkV?= =?Windows-1252?Q?Dn9JYlT7DxCxaVJ/J3SzFo+iFteEdE06I0m7KQaLgD7cxhNTGD2AHevi?= =?Windows-1252?Q?klwSU/ABrvxXYC0ckzCsb8WL2WwxTJE9toWpLwzg98gcgizQ+dO+Z+/4?= =?Windows-1252?Q?G6yfBpNJdW2bDVW9xZaHc4VYSXeVPtJYmPFy068xy5ulXUIx1g/LuODW?= =?Windows-1252?Q?HF4libyZ55EdbNkyEE8gYw=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR05MB1685;5:CDK6o4VR58NLDDmLfUsiGSAO9SGyIiXfpNLZpKhc3mV43ZqmZx1T+gZ1KQPfg3oyNNfSNlFOA9lBTvO2x8BXjyisncJgflMxa83iGHawOcYDoJevorY+6d8PbX3cZUTqzNoh4NuhR3nh4CttMXa7NQ==;24:5zwu4HEnCoPrFQduplG4ZxVXG0bQP5k2u5w3St1PjXKjW57IaoDHPQpdbS65xrX61kLSaxIOAtB/dJ9adC9Nv6ArpiODqI2XmJK1gMDKowE=;7:3TfDV0m7kWH2li+u0HJGWo5+COtk+p9H2A+aTHXSOK3OXlH9cD9MIU2KStdoJv7nBa6VS/DfiP7r63tiOnvlkySqPQYtzKVp3tFGCFtQM9eZlM6nCta7GHvjObxeLRj4LJdgLQuCN8NoeRxHsi/zfE8nHuPBMr1jR/hvmqoCP5E= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2016 16:35:50.6478 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR05MB1685 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/18/2016 12:23 PM, Peter Zijlstra wrote: > On Tue, Apr 05, 2016 at 01:38:39PM -0400, Chris Metcalf wrote: >> diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c >> index 06cbe25861f1..b02205085571 100644 >> --- a/arch/x86/kernel/traps.c >> +++ b/arch/x86/kernel/traps.c >> @@ -36,6 +36,7 @@ >> #include >> #include >> #include >> +#include >> >> #ifdef CONFIG_EISA >> #include >> @@ -382,6 +383,7 @@ dotraplinkage void do_bounds(struct pt_regs *regs, long error_code) >> case 2: /* Bound directory has invalid entry. */ >> if (mpx_handle_bd_fault()) >> goto exit_trap; >> + task_isolation_exception("bounds check"); >> break; /* Success, it was handled */ >> case 1: /* Bound violation. */ >> info = mpx_generate_siginfo(regs); >> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c >> index 5ce1ed02f7e8..025e9d2850c1 100644 >> --- a/arch/x86/mm/fault.c >> +++ b/arch/x86/mm/fault.c >> @@ -14,6 +14,7 @@ >> #include /* prefetchw */ >> #include /* exception_enter(), ... */ >> #include /* faulthandler_disabled() */ >> +#include /* task_isolation_exception */ >> >> #include /* boot_cpu_has, ... */ >> #include /* dotraplinkage, ... */ >> @@ -1259,6 +1260,7 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code, >> local_irq_enable(); >> error_code |= PF_USER; >> flags |= FAULT_FLAG_USER; >> + task_isolation_exception("page fault at %#lx", address); >> } else { >> if (regs->flags & X86_EFLAGS_IF) >> local_irq_enable(); > > That seems to miss a whole bunch of exceptions... what up? We only need to do an explicit call in the case where the exception does NOT result in a signal, since a signal is something that will be really obvious to the application in any case. So it's just stuff like handled page faults, handled bounds checks for x86, handled unaligned load/store for tilegx, etc. -- Chris Metcalf, Mellanox Technologies http://www.mellanox.com