From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753892AbbJaNS6 (ORCPT ); Sat, 31 Oct 2015 09:18:58 -0400 Received: from mail-db3on0071.outbound.protection.outlook.com ([157.55.234.71]:13408 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752469AbbJaNS4 (ORCPT ); Sat, 31 Oct 2015 09:18:56 -0400 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=ezchip.com; From: Noam Camus To: CC: , , , , Noam Camus Subject: [PATCH v1 06/20] ARC: Mark cpu online only after it has executed the per cpu init hook. Date: Sat, 31 Oct 2015 15:15:13 +0200 Message-ID: <1446297327-16298-7-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1446297327-16298-1-git-send-email-noamc@ezchip.com> References: <1446297327-16298-1-git-send-email-noamc@ezchip.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-21912.007 X-TM-AS-Result: No--1.861100-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD024;1:rMmVFw9hR+VzM0a0mZx+0QXp5SCBV/yQr7x3WzUzRgInAu+NfRTZB1oLq8vLsB9PUVzo8yA0TqbzPTCczTKYMgHJIdVRUSYVTH1daaE/PfI3g1umYs4z2bpYL66i0fB9JiOKW8uG5fBzSlMWnAxeL3Idw7g4ujIZIy2JgF4b5TY+GUsl4f7UXZV1Q6hbCPKXnPZKkz6lGisRjgU805kkjx10XXPPeH01WDfvZJpEpZAsALhCQxLUqFzjJUW3Jh/HeYFnxGpNfPMWMYay0JOOW92yyRQmZeW9QoDpJudfjVlVXN4B4uUeb6Sbd2CTqt2N2ttbrH01N5EkVYblZPLKl2ekAKe4DskC1IhFtfb/Bltq8oW8c66+xtP1m2YGIIH9nwKYtRlBgWgaLiNnsXHb9Q== X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(11100500001)(4001430100002)(104016004)(76176999)(5008740100001)(85426001)(49486002)(50226001)(50986999)(33646002)(5003940100001)(86362001)(6806005)(19580395003)(5007970100001)(106466001)(19580405001)(2351001)(229853001)(105606002)(110136002)(87936001)(48376002)(50466002)(5001970100001)(2950100001)(107886002)(92566002)(36756003)(189998001)(47776003)(77096005);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR02MB1034;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1034;2:g+ED7hlmC95MRu5q5LD7Wjd+HtK9YrkGp/ziIjzGOgPs944v9okdamvEaj3QIRjqb0F/5MRHLUKuSLM2eHtKBXl3ePkSPRYECN+hGtj2ozguyMql+TIamEbS7qMsCVyGGu5CETDCf7aJW7y/7K+n6SNmZel0DVPGBJL+A1J4nsA=;3:51SVKqU/1OMJC2DM925MrIfZKgx97oMLaR8LzQCw6f28xWkNJ33ty7xg9ToUqucWWAsIuBdpSWUyZnqFwk+4q1mdVy5F1AHNgX2kcuOaDW0hcgIfKcGZley9cAjbQ6qyaW05Xr1oQkM+0ql5ERZZHxwQ4PRN9G9CJgy41a+O69lLp11/4PN7rAazV6rqUhJBOjWSmnZHUTLvXQcljLYww8/Zw9WRFBObvCzJ87C6ado=;25:TvDDWaQbAQqUhMCEGF6IKQtXXIWYOKmskAZQP779FAmr6FN/KyRQ4EPBIiSvrNPtCelJdBEumivi/OQfX/NQjQbzEKXcY0F2E5HhmdiRBhOM8ZLKR8pbEgKhILS9wAjIu0hGPfm9Opxvi5tprQnjNsuGiocq65411mBSvSWdo0Y3X6yxlK4fp6KGOG/ktRHJDI3fmg8hKMD8XEcKpGqlBcBGdlihSGYcSzT2pIX1oytiGiNTxuzMAmsd/V+lJDw6PkmIpUN7wDEWETn2tNGN2g==;20:1poiT3dzFurIY7TEl5fXLf8eK2k+uMoFmc+eX5gBmPwYgHCkRvZbWwhXgYuM16XBycaB3rzX9mYn4ZCXRnYJHGAkR28xmwX5ysA9YM11x2I7UravlRUkTDzzh0L4wne+/GsaOtRI98FXiBVrPjtgVMI8kv6XTl4dXvYvHP3zfMg= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1034; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:HE1PR02MB1034;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1034; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1034;4:itV9K0eQQUk62z/sxPHNgmxFtiVEz2K5y5I4ECPaJZ2Q/UQFwxxMROsWn4b1GVUSyKMjx2aSON85UomtcaAdBLCIjNK0PeFPe0a3bmflv7Jzeth95R8g3q5qp1AtTfiZgOzHJNwVUB0N3FGIvO7WtPDSojDe+uJhF1ZX5ztSdlqN5A0RPf9xQHqSY8OvGEOzWvPb5qUMejfYI9QDkb2vPDkaJU430nx5zuiijmTxqk5LLbQCYVCkAsmJvopfpIyKW3xV7CU4GIferDkSL9bV/pW1019C0K/e0TJBipvi8ATO5GtRegPS526096BbzmODIY15TrjMFUw/O+73xx01IcVQg0aOm6SlHwxa1IRgExBkkFlB4rFZNW7jJfEsOWMW X-Forefront-PRVS: 07467C4D33 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR02MB1034;23:ousLqJcbqILEaZ4F4LpDOgjQq1KTRlW2qZirvJowc?= =?us-ascii?Q?cx7xwuYTL+h8GwNBpdbhHmvTH2UtRpfQDpuTyJcm38TXd1BrIV60zxxXkj9p?= =?us-ascii?Q?vYQ2Y4Sc9T9ueP6p0gbAn1346csy9bI9Tvr43yqt2BvPUuIQ6/tL+hmgkAtR?= =?us-ascii?Q?jQm2bNXkOXR0GOr95Md+mEspNIyLRG8XqL7Dl7cxL5YB5AEBv8GqXt5YLq0/?= =?us-ascii?Q?BBPYZN0Gz7vR66WFluWdcbyAWNLRK5JCfZYgxola7+r7843JJP5ANzdfBeoR?= =?us-ascii?Q?KYKHUlz2Zdgiltns61tKBRx3bFSVjeYCgZBphrKuQH5g+BuMFGi43ZL+W8xQ?= =?us-ascii?Q?4P+ssQLjuFgBmHpWNeoTX1P8iWFPp6CwyJImo+/qVZaSVv/TQX+4Ctb7YUvl?= =?us-ascii?Q?Ow0o0doSU9AlZ/Fqf3NVKXEF8XY/p1OjJkUmRa9CL3JDF+gdbn5fCGzWyPIT?= =?us-ascii?Q?vmMUR57tec7FXGN74bjbDJwpd1dOgu/TpSGjWzh4RJRWUbSQ3gnUzT9DYqJP?= =?us-ascii?Q?K4+US1GhPpdu+I455qec5HuQm/0Kh6fde7d1NQO2Ac4GluQqfbrJTs2emxLc?= =?us-ascii?Q?Lu/ab1m7MqYFhZjuUx2Xxa0U/06SrYtzIBwgLhRXVCW+NqB4y7Jb0l60cqm8?= =?us-ascii?Q?F4L8OqF0dSpMypyLv01T/krZpz85khikVFjORcHT8BBBLJqAWxIimlqY4Ds5?= =?us-ascii?Q?sZHjj+wVstvuvqwpu7a2hsPqICkxwJOJER8TxNyZact9OxEe0+oz/G/NOkhZ?= =?us-ascii?Q?scVAyx60LOIEbeSCsESSTOhTMiA9FQ5T/Pyfn68QU5x4dT9+C6peQg3hOrSr?= =?us-ascii?Q?zOrMUAVTReELDR8txzl2KgkiMx+mMS24aYKC7H6/xU/VpZ1ua2bHRSejrU4H?= =?us-ascii?Q?D/RNCHQabRBlryiKdfzVSXvoeRIdUrGz052he2QSvjS2y/I01pqBvFBr4omU?= =?us-ascii?Q?bO2HOOQoiccchHVVhF459uiKFe+lm9LkoRZyDjj82t6KHJy/M4zd1O+tB1PL?= =?us-ascii?Q?jTai8uEM8bdjND2/AdSFK7FBTNFn72NUyOyMFZtpp1HfpO6b5GeucGQz2UKw?= =?us-ascii?Q?ah2kaDmYSnXsHUaiTMQil7e0oNV?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1034;5:KBmJAwm7iYCSFEP6fix2bpjP26VwckxkXJky5GsXbZ1kJ2ds3aZLNYoykZ8u3CHb9pQnx0xHFgxIff0V4gvgj/MD4Y0sqZTp/NBaeJMQa3/SzW2JVsRy8tmDKr0mE1Yq77vQFbQ8UGhsxBZIrBP5Tw==;24:wVnKetHfkDzdgaqRWDjCNMqQRqfNZO6zfEbIvR6vBq2jt6G55Kt3bIxJY/MT0mcerovE5G45KpaDZJlvP+Cn8noG2fC8SAOmhQsSf7B8WSw=;20:lp7Ct6poGTRmprqggEdcZeRrjiFUgN+hSlc5WCKGnqOVU2hyfde5NgtwFe3os3QqOweHN5VDDp6Y1RdLU3fH0A== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2015 13:18:51.7230 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[212.179.42.66];Helo=[ezex10.ezchip.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR02MB1034 X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB0700;2:5WDMYvxhxAeiUFB8MYTiwpdkYbhg/Y6QXhuP8eHVAiH2kdXl8GpTemSK+76hLH94Za4Y9RJZ4jfe7ePSZL5OxbnI7Y099R5m1F0I4PNhTB4PNmxs86r62lut+FoMZ1g/xnwIsi/sls63ioEhh0HDAG/9RsyHofgJbdyE2Vwb9TE=;23:vuHDMP95r4E8vLZ3LsR5HXtGdHeKjsn1YLxdqwJo/U96jdz6AQK4vN8ySqcFF7bI8I+TMs8lCaIQPuZ/jOQCFe4oK0JLi0aXMrrn5H0jlFbIiB8egfArct+krH7zjv48bpxlCDcuQM6wT2T4qg9x9c3iUImkOOYgdjTzZDzGDg+YIOt8DATR2T9CcsBW4Uwk X-OriginatorOrg: ezchip.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Noam Camus In SMP setup, master loops for each_present_cpu calling cpu_up() which for ARC returns as soon as new cpu's status becomes online, but it could still be initializing (see start_kernel_secondary()) Thus master can start cpu up for 2nd core, while prev is still not fully up. This can be issue for SMT system, where first h/w thread of a core needs to be fully up before moving on to next threads. Signed-off-by: Noam Camus Acked-by: Vineet Gupta --- arch/arc/kernel/smp.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c index 5805878..946109f 100644 --- a/arch/arc/kernel/smp.c +++ b/arch/arc/kernel/smp.c @@ -126,6 +126,10 @@ void start_kernel_secondary(void) current->active_mm = mm; cpumask_set_cpu(cpu, mm_cpumask(mm)); + /* Before we turn online */ + if (machine_desc->init_cpu_smp) + machine_desc->init_cpu_smp(cpu); + notify_cpu_starting(cpu); set_cpu_online(cpu, true); @@ -135,9 +139,6 @@ void start_kernel_secondary(void) if (plat_smp_ops.init_irq_cpu) plat_smp_ops.init_irq_cpu(cpu); - if (machine_desc->init_cpu_smp) - machine_desc->init_cpu_smp(cpu); - arc_local_timer_setup(); local_irq_enable(); -- 1.7.1