Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752280AbbKBHyV (ORCPT ); Mon, 2 Nov 2015 02:54:21 -0500 Received: from smtprelay.synopsys.com ([198.182.60.111]:54396 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751145AbbKBHyU convert rfc822-to-8bit (ORCPT ); Mon, 2 Nov 2015 02:54:20 -0500 From: Vineet Gupta To: Noam Camus , "linux-snps-arc@lists.infradead.org" CC: "gilf@ezchip.com" , Peter Zijlstra , "talz@ezchip.com" , "linux-kernel@vger.kernel.org" , "cmetcalf@ezchip.com" Subject: Re: [PATCH v1 16/20] ARC: [plat-eznps] Use dedicated cpu_relax() Thread-Topic: [PATCH v1 16/20] ARC: [plat-eznps] Use dedicated cpu_relax() Thread-Index: AQHRE983jLS9QQ+lLECw9+KpBsE0Sw== Date: Mon, 2 Nov 2015 07:54:16 +0000 Message-ID: References: <1446297327-16298-1-git-send-email-noamc@ezchip.com> <1446297327-16298-17-git-send-email-noamc@ezchip.com> Accept-Language: en-US, en-IN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.12.197.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1605 Lines: 44 On Saturday 31 October 2015 06:52 PM, Noam Camus wrote: > 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 Acked-by: Vineet Gupta > --- > 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 -- 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/