• Vineet Gupta's avatar
    ARC: remove SYNC from __switch_to() · e81b75f7
    Vineet Gupta authored
    SYNC in __switch_to() is a historic relic and not needed at all.
    
     - In UP context it is obviously useless, why would we want to stall
       the core for all updates to stack memory of t0 to complete before
       loading kernel mode callee registers from t1 stack's memory.
    
     - In SMP, there could be potential race in which outgoing task could
       be concurrently picked for running on a different core, thus writes
       to stack here need to be visible before the reads from stack on
       other core. Peter confirmed that generic schedular already has needed
       barriers (by way of rq lock) so there is no need for additional arch
       barrier.
    
    This came up when Noam was trying to replace this SYNC with EZChip
    specific hardware thread scheduling instruction for their platform
    support.
    
    Link: http://lkml.kernel.org/r/20151102092654.GM17308@twins.programming.kicks-ass.net
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: linux-kernel@vger.kernel.org
    Cc: Noam Camus <noamc@ezchip.com>
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    e81b75f7
ctx_sw.c 3.25 KB