[PATCH v2 18/19] ARC: [plat-eznps] replace sync with proper cpu barrier
Vineet Gupta
Vineet.Gupta1 at synopsys.com
Tue Nov 17 03:12:49 PST 2015
On Saturday 07 November 2015 04:22 PM, Noam Camus wrote:
> From: Tal Zilcer <talz at ezchip.com>
>
> In SMT system like we have the generic "sync" is not working with
> HW threads. The replacement is "schd.rw" instruction that is served
> as cpu barrier for HW threads.
As discussed in v2 of this patch, SYNC or some such in __switch_to is completely
superfluous. We don't need this patch, you may instead wanna submit a patch which
removes the sync. Also please do that in assembler version of this file as well !
> Signed-off-by: Noam Camus <noamc at ezchip.com>
> ---
> arch/arc/kernel/ctx_sw.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arc/kernel/ctx_sw.c b/arch/arc/kernel/ctx_sw.c
> index 92e2e82..2a2f50e 100644
> --- a/arch/arc/kernel/ctx_sw.c
> +++ b/arch/arc/kernel/ctx_sw.c
> @@ -61,7 +61,11 @@ __switch_to(struct task_struct *prev_task, struct task_struct *next_task)
> "st sp, [r24] \n\t"
> #endif
>
> +#ifdef CONFIG_EZNPS_MTM_EXT
> + ".word %5 \n\t"
> +#else
> "sync \n\t"
> +#endif
>
> /*
> * setup _current_task with incoming tsk.
> @@ -122,6 +126,9 @@ __switch_to(struct task_struct *prev_task, struct task_struct *next_task)
> #ifdef CONFIG_ARC_PLAT_EZNPS
> , "i"(CTOP_AUX_LOGIC_GLOBAL_ID)
> #endif
> +#ifdef CONFIG_EZNPS_MTM_EXT
> + , "i"(CTOP_INST_SCHD_RW)
> +#endif
> : "blink"
> );
>
>
More information about the linux-snps-arc
mailing list