From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754713AbbJaNWT (ORCPT ); Sat, 31 Oct 2015 09:22:19 -0400 Received: from mail-db3on0094.outbound.protection.outlook.com ([157.55.234.94]:20947 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753469AbbJaNWO (ORCPT ); Sat, 31 Oct 2015 09:22:14 -0400 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=none action=none header.from=ezchip.com; From: Noam Camus To: CC: , , , , Noam Camus , Peter Zijlstra Subject: [PATCH v1 16/20] ARC: [plat-eznps] Use dedicated cpu_relax() Date: Sat, 31 Oct 2015 15:15:23 +0200 Message-ID: <1446297327-16298-17-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.087100-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;DB3FFO11FD006;1:fNShokBfHsgJnucukXapGYym1kSxQv6/wifuTP0SuRNx0sqMPXT837paQrtS1HwpgekZOzS8vhurDbRNA2e9j2jxmYkCFK7NW4npLTeQBP7as3P2D+BK+XNazS92EVNzE7FZfO2L7lpf8i1L2Bu0vRExJtcFwRQZgGWgrUi54lfnVLkylO1bCbCirrfxQJReyQU/EJmDO05FrHGBSfbMWARub2UnOR+7mS2TuEHVsOEayiA7PTGfIWYE5392raOfvNMEC1EVkBeJgDClued4I0Em0U/CkJafC1M4LuQAAV+Qj2JuYK4zTxB/RILL/5FpzSD/3bPWDI3AFHSMHyB7zlkb1N818uU9Pw/+H1Y8E3dEGJrBR9D+CcjQi6SYAeE2zF1+g8DWZxXu8hJBvuAVHQ== 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)(105606002)(50226001)(229853001)(189998001)(2351001)(110136002)(106466001)(77096005)(2950100001)(87936001)(86362001)(6806005)(5008740100001)(92566002)(85426001)(36756003)(5001970100001)(49486002)(104016004)(5003940100001)(5007970100001)(11100500001)(50466002)(19580395003)(19580405001)(33646002)(48376002)(76176999)(50986999)(47776003);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR02MB180;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB180;2:PfAr+fVCBVsrBVK9fVOpVeYwYO0r1PP3p5S2D7NOqSWsV3Heuf5mXUtkVMlfwwvq0obgFi/LvZglmYzD4OSVb5TCM5aMkRx/ldnSba87FBVsikodZkHdkmhKycBVqtWu3FzY7UKjIeGZXQXZH9l8lURK0gJuAWn9fDGe8y37sOc=;3:7mnzU9xTqiw2TlDzaaRd8/F3KKKeQyq8GKfoZUwZo65dv6cMSv9HY3z8Yc3cS8k8icI8E4hMd6N7bNiYT7hNmNJumusz384RnUx8ljzQWOcdCAFp+W/Ffm1BIl1cRyRo7b1U7AQfQBa4BxWmcT+7UKzKnJmnbDHPJ1F7upbiKfQFl8js6VvnT2iMFh4XoeiEH9DETaX9IldsmITTUY9KmAZPjcyE1NyiuzZ1a7SOqZY=;25:BkEuxe2Hv09xgkrtd2NfmlN3ZtVpGdpuQlfK96imxF/SEINqXFPh9RNA8Lsq7Ng0YrX2BlrRNUcvw5eJA/jgW26KFNh5pvH7q3y7ygSg51WMIFBLi1UDT0+AziJiz5nKvBayEjMAI86D2x5Mlo2075fQprk4S3Io9CT2JUeOyYX17AB3+25AkYPVLi5mjXoGffDpAdziDZVtf3rLA/rAtBMkBA9RWJnDTSegMrMOIiT0BluSP2cH2uWi+RZ6Fzv6mabxB9Blp2ZNRqVLCOZc9w==;20:orso19xlScvdicywBM//cgv/rn5rXUxjsVcqRQJEU1j2yBQk59m0upSdzSdcIHoKtJW9+xIr82ELagvAasKOZzCkqjq7FGhmK+Dn0s4Fs5OuuY9UhdS/O1c+tRSw2nicSJO/blzalT5bjrDF3wHpo7DOBfPNfOIbK56WrdohvPc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB180; 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)(10201501046)(3002001);SRVR:AM3PR02MB180;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB180; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB180;4:YSg6P15cRv004WzxNPZTwTjSkEonaGbv0qqQWDJT4MvWpXHVqmb2XMMO5GyTODb2bSAwwxiifAG7f0bo0VFYCqVpQkx2tPnNY6fxdUJk+fnx+x6Lvrwc+ssSml9f1jzfkAl1Hi9e5/AYWaSBc+YI3mdZvphQ/zXN/e9rZnP03BeaPlzVyxBnlC3sTsh9CXAX68rYe0yDpfSV5aD1vXjxtBEUFXdeM0fq+Kivg46TL+SxYDoWtyn+CoP2PlQ2alKLSGznl/EMnQWnUpD5O8GtBv23FqD4YlxDQyPoZldO5QAveDueHkVCNj5MNKgERpPgB0/NrQM1BI0VbUBTUEN1Joi85TbiUXma1IfGYoczU7NM8VckTcf7KMqIXtQAQMQB X-Forefront-PRVS: 07467C4D33 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM3PR02MB180;23:5HNaZcKuoOBVhIZOhpbAtNigpgof+J/K3KbAzElmSF?= =?us-ascii?Q?hvkClyWmanfnyDCTRxJresljA6wKB4Q5ocjZPFhadWjIOZiVQYmXCEzRurj2?= =?us-ascii?Q?ngLU/3cji55CMLmM+ak6OrIy7k22KBF9qxcH2dVER0ZzoElMQxwEYWKjhXSM?= =?us-ascii?Q?8Ppdms7Q93oasghC4Yh5+rrP/SwTvq93L4LgAtUnUaSaPXoEcLUhM4RVPv+r?= =?us-ascii?Q?oFumapbmbRJiq53qEqRd/hlMkjzEyIy+itorVqLmAY7YJvEqU/2dCKYGQzTN?= =?us-ascii?Q?0/lj3KQ/WmQ2QXB/bjGAitmcOpGoquhgtuzxQIabQqpl6oPNustvXTgi6TJC?= =?us-ascii?Q?tiVNrSwhdKv9B/dcamZswGMsoWoNWLieN666ZKlwtBDn6C73jsT3eyi9iMRS?= =?us-ascii?Q?1O+nOMPvEG9GxWxUeDVF/CN+MgxzOGhSHCoGTiFr5u/vki2kZeVUYG937XjB?= =?us-ascii?Q?442RAcSDx7EKdZ2k7cgA6qa71SYBjLphlHyUILasxhk/qho6YICALcGJVati?= =?us-ascii?Q?gI/yQSp9LIPBvg9iBQ4apTMaaBxdCSdDpeq+Tu5M0cWIz/eHGpXvNnKXYI+2?= =?us-ascii?Q?fbuv9B/ZuqDTgI//MMEgAlYm8xmDfpqSoj1vF22QyF5Sz1IeVnqQbygT/10y?= =?us-ascii?Q?TmQv60EP6jQUYri+1Vzj6aK/v2kZ1r1fIW0LPp/3RyGIXWbQr9V1Hh+Qd0G+?= =?us-ascii?Q?oZ28wVziQtCOBJZK6Sitlw90m5EUp0BTcqVVrmSqpV4sf5CKsO/ReJ5CpPL3?= =?us-ascii?Q?VFd13mQuY9CZwflPoUH0PRi6TyjcJHtioFp87Cpa0werk2ZtLkY+Q8zkWQ9m?= =?us-ascii?Q?4GurebP+eWxjbvJw2CTlMGGGMX54LAfh+WdxZMXGkJjdhMVIEPuuj66haehH?= =?us-ascii?Q?3hSWw+/l+UCMernIlydK12HNUjZB/tYR+7m/LqAq4wQc6x9zahMo9J7G74xl?= =?us-ascii?Q?uulfKsn/DkJAn40xSnOCA9DypLcpTkHM1Nxeibt04+Y+TQMdVzBDyqMHvhre?= =?us-ascii?Q?pJyyrHp8RM4aKC8Slb5HEF?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB180;5:Wsyefz7R8geb3EAGJp4jztYl5LdZ2Hl6X1QHZ3yfiwhaixMwQWjCcunj/n3oqSxm6wlCneccusk7Wd3gx3WqX8WGlCfRz75iMeLLrzoTezagd4wWHXDVWvm+usDeLpyiUukN1+lwOooWYR5/J7pFqw==;24:x7J7wY34DIyPJ+d7wDV/D0UWyuNmKIwf2drTP7IEbF5ZjwqdFO49gwgcKyo/hsPUV8CgJrdRib7i2/+U1gR3vvY4CoMLKhT9U7KshuIWrJ0=;20:KOvBS73JCREnvoQGaKuxFd2WATb6r5w/ggtHqdGic7T+DaPkdr94Xr7yd6Sb7XjaWe4e7mknlNJjXFVILd0tcQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2015 13:22:10.6751 (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: AM3PR02MB180 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tal Zilcer Since the CTOP is SMT hardware multi-threaded, we need to hint the HW that now will be a very good time to do a hardware thread context switching. This is done by issuing the schd.rw instruction (binary coded here so as to not require specific revision of GCC to build the kernel). sched.rw means that Thread becomes eligible for execution by the threads scheduler after all pending read/write transactions were completed. Signed-off-by: Noam Camus Cc: Peter Zijlstra --- arch/arc/include/asm/processor.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h index 7266ede..f1a51a6 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h @@ -58,7 +58,12 @@ struct task_struct; * get optimised away by gcc */ #ifdef CONFIG_SMP +#ifdef CONFIG_EZNPS_MTM_EXT +#define cpu_relax() \ + __asm__ __volatile__ (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory") +#else #define cpu_relax() __asm__ __volatile__ ("" : : : "memory") +#endif #else #define cpu_relax() do { } while (0) #endif -- 1.7.1