Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755722AbbLHAaM (ORCPT ); Mon, 7 Dec 2015 19:30:12 -0500 Received: from mail-bn1bbn0105.outbound.protection.outlook.com ([157.56.111.105]:56043 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751881AbbLHAaK (ORCPT ); Mon, 7 Dec 2015 19:30:10 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Joe.Lawrence@stratus.com; Subject: Re: [Bugfix 4/5] x86/irq: Fix a race condition between vector assigning and cleanup To: Jiang Liu , Thomas Gleixner References: <1448870970-1461-1-git-send-email-jiang.liu@linux.intel.com> <1448870970-1461-4-git-send-email-jiang.liu@linux.intel.com> <565E234B.6030808@stratus.com> CC: , From: Joe Lawrence Message-ID: <56662487.40200@stratus.com> Date: Mon, 7 Dec 2015 19:29:59 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <565E234B.6030808@stratus.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [198.97.41.12] X-ClientProxiedBy: BN3PR0401CA0032.namprd04.prod.outlook.com (25.162.159.170) To CO2PR0801MB582.namprd08.prod.outlook.com (10.141.246.139) X-Microsoft-Exchange-Diagnostics: 1;CO2PR0801MB582;2:mjfUuf6kvI0bUIDyGTfVW2pXH8Yb41P7cjPThJcoR4ZQfkU5Wd1DfZSDwP2jF3a41jidvoFUnV8R5cuD1hX0Q5dg9F1aWWlG5gdCM4QMyfPzc7IvJnUrhCqyvIg10sPykgw7zZgnURFwRt2LRDJqBw==;3:piUzTCRzQp9ef/EVs3fXl6UEF+EgPS1OO/8KO4zBOJFaCDUc0AJ767UT6C3Nczx/h3tkPFX1tSsoisJEYFgHaqCvxLGhjz7WkTgOQ+SMPzPjoHbSA4I4LXl0MiAQdCgK;25:uduQVX4O2M+kLQfRnvtJu/rQEjzfD4pfMz2tZVR0y5kTJDiVY3lgrhvB32XWUcSlZ0IS1Iqj/kBuRMUApsVEtGhKQzgW8jpyTfiX2SPt5itm0mLYqATQRO5Bc9MROS8gA89b1Fr6TXWoSr6fPFe/H3dcYK7pdgzr/zfzOIhw4SRymQHgq3eAXSmfm8pmrIjff2jQmjVG8dHU4H00Htr0vqrxygUa9UwMVJMsYxVABACQC861Z7bD+3hVes64aXaegFIF1uNJbR32HqFiSr4MPg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0801MB582; X-Microsoft-Exchange-Diagnostics: 1;CO2PR0801MB582;20:iyTwi5BWheE33FAMkSiC68BJAWBc30WRnnsI1AAu1DWd6GAU5aTlowXnvnhuuBev1q6yXqfN2WveJWs5kropS3Vo4zXfZEhsiYetk0Mr3mQtgZvIe8bvd8pchJ1iJUdUljbx6LSNiDZ/ma2QSurx1X7RYvNVNENHP/E+5ZCbesyIMqBZyRlACMXXalDOB26c9OTr2XbUhF1u69WxoFlRHDNhEQ+SGBEPoxKwefpe5C43eqL7+bAupSnBfzkaEepaCGpnWRlGghET/TvBhLnr5qPeaccxB9t7MpxNdnXSItoZQwTYKT45adX6AySNP2g0xscheFyHfAJMRzU8x4tXbf4NogrQjNxqB8Rwi3WxuUMiZ+QS/LqKeEvy2OhpixmhMvSgnF0BA602qt3Df1pLSwn7Xn6ASiEV/L6cnJg+IUFEIYtRi3az8E9kiacIMMoTgt67TPzAzB6fuAPO7RriPHsukeK+ORcPNRgP3yEnHqah+eXRioeYmkXl9rBKwci8;4:N5n8Msd6uD79Prr3orTh0xmILu0pysl1Ek5/W0XPeTX5B5WLEmFdUEof03xRbHulaPbZ9J3vp/bjBuncyZGYG6dPgP2M8KqfZ5NjdVj0MKEwRgqxXEbtghcq98K/7yXCgtTgQg8XPPrRB7xNG4J9lqGedsjiyI+r+A/4akL+BTaGmt1DiRwkePCCJcaLS8VFBhIihA+/iWPTflgWJBDLKP4tnCyPrA0G/buJ8PVRjAdlMky8WWClsQXHU9Oh3O8kJKbDYUqPvSUJr2HXqNgGm0PKMDRuS8Pr97lFiDm0KlnhNgXw1pJy4uPv/2aqwDaQAbUT41zxdFeFHORY3ToF0kxM5L1bmOMIkp5M7ycDL0ieN0xoNaVLWZyVG4Q85fhhz2i+U4Hmusm4RNNwTeKXsSPN84hmThNGUZSzdi5rsPk/47qGHJaxuAAgnqZsY31d X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:CO2PR0801MB582;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0801MB582; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(6009001)(164054003)(377454003)(479174004)(189002)(199003)(24454002)(5004730100002)(65956001)(76176999)(3846002)(105586002)(106356001)(117636001)(50986999)(83506001)(1096002)(586003)(42186005)(93886004)(5008740100001)(36756003)(92566002)(4001350100001)(5001770100001)(87976001)(19580405001)(66066001)(23746002)(86362001)(65816999)(81156007)(15975445007)(65806001)(6116002)(19580395003)(77096005)(101416001)(47776003)(64126003)(40100003)(189998001)(54356999)(5001960100002)(50466002)(122386002)(230700001)(97736004)(2950100001)(62816006);DIR:OUT;SFP:1102;SCL:1;SRVR:CO2PR0801MB582;H:[134.111.23.34];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CO2PR0801MB582;23:JC5DuXYhtKDOaBsszCBPvcXKR5W+/kzjQnhv?= =?Windows-1252?Q?6N8ZO6mJwaXhsLWWodvfbIFlpz4WS7BTKTOIAY4GI+Vzt/mFZQX1Tv8x?= =?Windows-1252?Q?jQZEWQUJ3nIdgLCeJTfyXvKYsuESSNeaDU2wW0L45Bim9SIIXkaWYby7?= =?Windows-1252?Q?r/EFz/Hs3G9ZE7me68OiETpTbleTyaDAbpDOuyJMIiUU/E2u0VSUTR6t?= =?Windows-1252?Q?YLV4ykR6QlnQJvcWb7xmRgAP1nzPxd6bBSS9XvKO5Ifzyb7zSeq28319?= =?Windows-1252?Q?6UlyqyKR9lrzhsZV/Vu7ai6Sb9lGv7c9Nk9UPApCDdH27iI7/PgNO+yc?= =?Windows-1252?Q?IaEj5nOcUynZHOqCi0z9cjynSKnyn5AqX6MkdYOn2zX8CpJSpD/n2fWl?= =?Windows-1252?Q?fkSXpDkaINPNvNbtyEdLF0hJ/umMooZBAB9uUD7eMMKU2DrvRuG5x5Ms?= =?Windows-1252?Q?gatpvwrYgyPWbqfSRDfYX5XXTKuIB7TMAQYMj0eRG8zFfSLxw4ERkG+J?= =?Windows-1252?Q?5xeGSuG1q/8xG05jaEDo6ujl5OT0pGguAZbB5MbW0xs/fgmFaXB0d+k7?= =?Windows-1252?Q?CK8x20zzC0kKWVCbW30vn4QYWEAOxU2IJsWXBnwrqgLdNPTvmZXvJDr4?= =?Windows-1252?Q?9617ZhcOuG6UdCR9qg3wT884PYdJ06SofAZURFbpMHh8vOoYoeQhFMLn?= =?Windows-1252?Q?5Ls72aa/9e4OQvHP8qu3vCwzWK5pZHaDhVO0EYr9TUozPnpxhmI9W4LJ?= =?Windows-1252?Q?x/0NNYhdJQSqSTiWfthjh/Fr2+tITazdATTUktY5eUSMAZxmPvaK9M3f?= =?Windows-1252?Q?Yfx/n80M5LsRYciOuH7Wc69RyINur8if+hRI17BLCcUQVHve4gOJAa7Y?= =?Windows-1252?Q?4YbalP9zrPg38HSOUo4F4fkh2Aa5vpaLt/W8qtIk/TEkIMhIDYgVUmPI?= =?Windows-1252?Q?8oc7bTD09DgKm/J1yFIJggp4wuE/ewFxoqw7PxaKHOD+vf44u00M7SVV?= =?Windows-1252?Q?Jm9YNs6rWctSEuzkEDgq5A4bS6AcpgeLFZzybmX2pPVkmmlM8qz3xsCm?= =?Windows-1252?Q?H+4BuVw9o0nKmGt9Xe5DKhAqJZ/TPbFD9NQ3sNgNq7QeTY6DT3037yjR?= =?Windows-1252?Q?jvEOo8bv7zlv1OwDJBOY7hvAhCOTxoUnhpxKZSSLgKMWE71dQIH4Qj7Y?= =?Windows-1252?Q?IAfU0OnJ27AaSR7wpYsfRgXdLfcdlUi+rhlmaHXp5glvNSGDFtqj4mm8?= =?Windows-1252?Q?GJ3WPQ1XhA6KZN3oZkcXh6m8fyJE3wEDFtD7Ngmq6IiT4ujigmb//dwK?= =?Windows-1252?Q?k1zGLWGutR2c30GYrXPl8rjjNnvZidjVKxxE9wWA5dtJuzGqHbYD3vZc?= =?Windows-1252?Q?IebO5ecqPBjtIUXTz/sZ1pEab3dZm7YK7TZAFRpIYhw5qc+Aq9y41nA?= =?Windows-1252?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR0801MB582;5:izUr+e1M9iUKjpDqsjfNNoE0sJg68XipKIgZGBumJcjbpvl/QxUOxKiMcYCi8x/Nq6RuZJ0nMZbtmetWnKbBghcievBD7HsWpbmm4z7uuCo0xAYghbk3wsEZXWiccNwjB2bwCiqDirGFrsWX7Q1z2g==;24:7v/LcZom9/JjnCkRsVEq+BiM4FjoP2awPtRLgnEqS6vsZN2y7QKEiD9wQjVoXaXmxMrVx8v0zlJ3DfwENj8cKSbNMrg7GpNXUVb9nevSGlM=;20:wN1C95HUHkKiTXYcX6jCuUmzgCb2IzB0EQ5jq5Cxmy9hmHBmsB6r1DASKhL/OzNUBFKpy1wAOwHx2RBaEMvmoRfwPxIGdqY0TYAEhiHQIazHZsDl/7xW/2uXtVDzmrBIXcAM5YB4wPkXvo4JJIW4iraIPJHRLDwy5X1XbrQXy5E= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: stratus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2015 00:30:05.8476 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0801MB582 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1577 Lines: 42 On 12/01/2015 05:46 PM, Joe Lawrence wrote: > On 11/30/2015 03:09 AM, Jiang Liu wrote: >> Joe Lawrence reported an use after release >> issue related to x86 IRQ management code. Please refer to following >> link for more information: >> https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1026840.html >> >> Thomas pointed out that it's caused by a race condition between >> __assign_irq_vector() and __send_cleanup_vector(). Based on Thomas' >> draft patch, we solve this race condition by: >> 1) Use move_in_progress to signal that an IRQ cleanup IPI is needed >> 2) Use old_domain to save old CPU mask for IRQ cleanup >> 3) Use vector to protect move_in_progress and old_domain >> >> This bugfix patch also helps to get rid of that atomic allocation in >> __send_cleanup_vector(). >> >> Signed-off-by: Jiang Liu >> --- > > [ ... snip ... ] > > Jiang, Thomas, > > Last night I ran with Jiang's five-patch-set on top of 4.3. Tests > started with regular sysfs device removal of mpt HBAs, then later I > added disk stress (the disks are software RAID1 across the HBAs) .. no > issues. > > I'll kick off some tougher surprise device removal tests tonight to > further kick the tires. Testing looked good. Feel to add a Tested-by and/or Reported-by. Thanks, -- Joe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/