From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934001AbbLPBPl (ORCPT ); Tue, 15 Dec 2015 20:15:41 -0500 Received: from mail-db3on0084.outbound.protection.outlook.com ([157.55.234.84]:47264 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933760AbbLPBPh (ORCPT ); Tue, 15 Dec 2015 20:15:37 -0500 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=ezchip.com; From: Noam Camus To: CC: , , , Noam Camus , Peter Zijlstra Subject: [PATCH v4 15/19] ARC: [plat-eznps] Use dedicated SMP barriers Date: Wed, 16 Dec 2015 03:10:34 +0200 Message-ID: <1450228238-4499-16-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1450228238-4499-1-git-send-email-noamc@ezchip.com> References: <1450228238-4499-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-22004.003 X-TM-AS-Result: No--2.565300-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;DB3FFO11FD019;1:R6dcKAzyrjEf+hEWyK+Jynif0dmbyW0B89Y+vBeBU8eNGsRvc38uLXn+hp0RGQk0S0XjyBllkNLeeUqVGcy9V8EjBJeTuOcwqeklD4JVJEZCbXJJKiJ5pFgmAcgx5PucjfvxNZ8o4ba709H0YTT8j0x2xall7s10IOYu6Cw8a/OiO8Xyja9xAw4oIfruoaTnndibTJj0MgDQdi01du0Qqc1X84lHMvZSVexUeQ7g0SjrpoLlB068HnVhSufyYdNDFyy8OtiL5wVnTF7yo/eVIRNLZD+/cCq7zpd6uN+VSnTOWAHFG5cQxrbMSx6LKKm2v6SM78JzGhm82Mo1trDqKuL7VR2DsA8IUJjGsDblrHi2W4lDrgJKohIoT6xz1oeAVwzv1kbnct7OJVa4w7/H/w== X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(105606002)(33646002)(1220700001)(92566002)(106466001)(86362001)(5008740100001)(85426001)(5003940100001)(586003)(6806005)(87936001)(1096002)(77096005)(50226001)(110136002)(2950100001)(47776003)(76176999)(50986999)(2351001)(229853001)(104016004)(49486002)(19580405001)(11100500001)(48376002)(50466002)(19580395003)(5001970100001)(36756003)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR02MB013;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB013;2:S4yAk7ajhjBRvOZ3tzBo84QBSyQ69MNnK3Ysxzx5JWkkDFp4QeGPVhVXnh+99VZq/78e03X7sBAzzeiD4gzsMaIOQapGtgFRpXF9ycDpnbL0Gef1uqT0aA/TE/5m8f0rn+gQZ7JRbQoK4QvoTnOr8Q==;3:Y73MxmCsp+ylzMnMC0PdHocz1Qpo/PuNPNa5OXqb5rASOhZjEKJ8ZtKZDVE5fjximX9lI59aclYxLiQql+OZ8tXdw3McxxzXn9RGTSgWh6pqxmeGzu9xN6KoiiPSMl+ePXgNHdrSWj4Kp9MwhwVC/aOtnYBulWlkPNZQlPKYaUHC3iwX70G8XYfMUMugEuwDmH423Dg51dh6zDWinTAvfTUYZQW3vfeLa6vG8PGUJkA=;25:Ifl8NDB6vzINYmr9x7eEG9v6XDTdmy1Kb3ttC9ncV+cdCi3zpGzYmxzCribB1OUiXHCwK9IAj03LY4sKiup17dhCZQ5vVeAxGWwFxoWVeBYD5xrnXzJJIajSe3PdMQuQ+bKtNs3Ar1wC7W4ZCIfPtDxjtIH0wlKRkjb+bt6D94YMrTMZ04SlZF/OLUPVkF5T/CIr47nFizcTfWt+zWxbDdUE9EMpST/0cGcjaxO3vV7V73qfrPNnhaV3MOjs8i3+F9fDOeOufy4E0XVidYbV4g==;20:yN0mA9JUfKniFh5NXIBeh9YqhpZFi6bgfhwPVCZ0l4ngQOS/ewRSaF0eLvDrFAeCp/KmN5udwEJatD8Bs0INzqOOnQgngkuTTqB2dyI/lMKQxW8kZT8XkoukaaDpXQRx/BA/l7IZ/8b4kspc8qVGUIZoyPFFy9IsNrG2PfHPbF4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB013; 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)(520078)(8121501046)(10201501046)(3002001);SRVR:DB4PR02MB013;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB013; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB013;4:6XVhJXIUtruXuVcwXKQbb/h6Oj/qTsi0Jhhgaqoy+qwY9x4rVHEBI4bA/YLGavezSCo8KGe2yaJVJnL/BKkV8E/UDOc6VACuYPwJ4+pNclAnQ+TJNaWM1Inc4d4vJpIZatgPEEzWvJZh/JSrI6ncfc117UovmRXsiR8jrI68pB5QIpW+n4Ltx2KmFWRmtZu4x4BvhJGKYPYkCCa4U/en+SCRB5UnH36FAlO4EfjKCAilYf6ZyKx5x3cHqd0tpx0nWM1KuYcayWHZ4dcLlViRoM2ZFdPWc2PGlgWSiWlpo83i4Z+iGihe9//UQ5dDCSrCp+KsbgvFXh0y+Hwx7PyihozBHlOjFkUot/q6cNXrGcaeS6AI+RWcoVGanxvMbOsIO2/GIAaepw6zYCUlEKTDh/oXnP+qaxlnOWf27+Du3JflxljU8KfjNx2wyfCMHFMy X-Forefront-PRVS: 0792DBEAD0 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB4PR02MB013;23:urYZdL764qm2GoyKcT3/0hO6Kfo7LBbkMqHa1T2FjR?= =?us-ascii?Q?IqF80CguvIyJbdyZrRCj5OmOBkc3Twl0tkKF0klzYJkgHb5D5wri7E0/su2j?= =?us-ascii?Q?JL6Hmo8lYD3xE6fY7tj0UgFbs1f6mU8S7+O3GGYKpOeClJ8QETCcNTfZ2Yd5?= =?us-ascii?Q?JT/SIgAayLwW8SQSsuIToSi67qDWWRwoclxd3fbwMbL8JpJsZO4y73jbgP+w?= =?us-ascii?Q?/jQrQsW/DPI44y+BNRfZHCh4mOWXnLTETQxrzWU5508p8bFNVKNslAboPGbt?= =?us-ascii?Q?suhAQnGEAgpla2Xng2syps0stC3FMHDIWe/CqrmYSb0HPPJdX1qOkwzvnhu1?= =?us-ascii?Q?V2CdjAtST14gSnIiIrqypYnHE0EoLpVdrQ9wsW/HnuUXAz92qfN63GnNeOec?= =?us-ascii?Q?mNzSl7LxYH/RpgsusmuSIEWq/+6SJdRQbzDuF+PgFqtiAZuldQl1BiQHAe/I?= =?us-ascii?Q?VhdssKWtk5H14mDpX8O8Fps4Hi/eQF9BbUJ7pck4TNh5tBEyAwiQS3+/Fzms?= =?us-ascii?Q?Ts4bFxvhZvZ4+HcSI4KtCJ9Lv7i2kScvevnUMG4nL3e27Og+7ulnpPXTen5l?= =?us-ascii?Q?hvtGN9/3Bh2jNVRXKbSffLjhkvaI2m8uSXBFzX4FgrH8JlGuvo9Yc3SZK5Wx?= =?us-ascii?Q?mkRDE5ZUp0GnIRJ5174INQ3nbnCBr3wlIEkCnppP8LCflzRq2u9nb785FVXX?= =?us-ascii?Q?TyKCtPkNtWx2J0nkVve73pimLJmNoL/n9NE5sLHhH0yeYxsRIOh+j9toq+BQ?= =?us-ascii?Q?xv6/lec95eP54Th2um5dpfEJQLFdUncPrFUJKuO3gNTgo+V11Q88DqiuII94?= =?us-ascii?Q?3jFWo3qMf0lQWP5JHITEYBUf+LDhacpbXcgsBjTodflQski/lrkn1DQWQfSW?= =?us-ascii?Q?/DjVX5VvQzKMCD51gyt9kHIVqpzYgVte0xBBCantK/UYjT0+OXzUc2wvt/lX?= =?us-ascii?Q?3J6BVHsM0yVk0qTxCVGsZuWysmeslU5Yl+BNDbhvB7ufHhCQIOziEK6SiUms?= =?us-ascii?Q?WQQx89o/F+wQq5va2JvaUaUbpw3XK5PHmjoFZYSp6vsg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB013;5:gER/oiUQ8zQ4cIY95a6Ec4bC8VLN8lQGVj4XRBYiAQ66FNyKO4UkMVwdRD7W2A2DzPI+M3gB2rarhkEZzMkBGxSSrqfhGYo8FjsGjlQBF6jhROUIGVgUH5rwUAFC3REMegzeu4+yvmpU/eLCmK+KYA==;24:TTZBc27ScPLr2c9YczU4qOEmMqJYTd6HwrH+NeB0TxvQcb1Mc0+nue+CKW4NlI8SgfNqbTHDGET6N6EoHCgWUfanSAlmM51fJaohi8WvqF0= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2015 01:15:34.1537 (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: DB4PR02MB013 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Noam Camus NPS device got 256 cores and each got 16 HW threads (SMT). We use EZchip dedicated ISA to trigger HW scheduler of the core that current HW thread belongs to. This scheduling makes sure that data beyond barrier is available to all HW threads in core and by that to all in device (4K). Signed-off-by: Noam Camus Cc: Peter Zijlstra --- arch/arc/include/asm/barrier.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/barrier.h b/arch/arc/include/asm/barrier.h index a720998..a559732 100644 --- a/arch/arc/include/asm/barrier.h +++ b/arch/arc/include/asm/barrier.h @@ -34,6 +34,7 @@ #ifdef CONFIG_ISA_ARCOMPACT +#ifndef CONFIG_ARC_PLAT_EZNPS /* * ARCompact based cores (ARC700) only have SYNC instruction which is super * heavy weight as it flushes the pipeline as well. @@ -41,6 +42,13 @@ */ #define mb() asm volatile("sync\n" : : : "memory") +#else /* CONFIG_ARC_PLAT_EZNPS */ + +#include +#define mb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory") +#define rmb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RD) : "memory") +#endif /* CONFIG_ARC_PLAT_EZNPS */ + #endif #include -- 1.7.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: noamc@ezchip.com (Noam Camus) Date: Wed, 16 Dec 2015 03:10:34 +0200 Subject: [PATCH v4 15/19] ARC: [plat-eznps] Use dedicated SMP barriers In-Reply-To: <1450228238-4499-1-git-send-email-noamc@ezchip.com> References: <1450228238-4499-1-git-send-email-noamc@ezchip.com> List-ID: Message-ID: <1450228238-4499-16-git-send-email-noamc@ezchip.com> To: linux-snps-arc@lists.infradead.org From: Noam Camus NPS device got 256 cores and each got 16 HW threads (SMT). We use EZchip dedicated ISA to trigger HW scheduler of the core that current HW thread belongs to. This scheduling makes sure that data beyond barrier is available to all HW threads in core and by that to all in device (4K). Signed-off-by: Noam Camus Cc: Peter Zijlstra --- arch/arc/include/asm/barrier.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/barrier.h b/arch/arc/include/asm/barrier.h index a720998..a559732 100644 --- a/arch/arc/include/asm/barrier.h +++ b/arch/arc/include/asm/barrier.h @@ -34,6 +34,7 @@ #ifdef CONFIG_ISA_ARCOMPACT +#ifndef CONFIG_ARC_PLAT_EZNPS /* * ARCompact based cores (ARC700) only have SYNC instruction which is super * heavy weight as it flushes the pipeline as well. @@ -41,6 +42,13 @@ */ #define mb() asm volatile("sync\n" : : : "memory") +#else /* CONFIG_ARC_PLAT_EZNPS */ + +#include +#define mb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory") +#define rmb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RD) : "memory") +#endif /* CONFIG_ARC_PLAT_EZNPS */ + #endif #include -- 1.7.1