8

Nel kernel Linux implementazione spinlock per l'architettura TILE-Gx, sembra che non rilasciano alcuna barriera di memoria quando si blocca (solo quando lo sblocco):barriere di memoria e Linux kernel spinlock su TILE-Gx

https://github.com/torvalds/linux/blob/master/arch/tile/include/asm/spinlock_64.h

Quindi non capisco perché le istruzioni non possano essere riordinate al di sopra del blocco, il che provocherebbe l'esecuzione delle istruzioni che il programmatore avrebbe dovuto eseguire mentre si tiene il blocco, per eseguire effettivamente prima che il blocco venga eseguito?

Altre architetture sembrano avere almeno una barriera compilatore: Spinlock

Perché TILE-Gx diverso? Pensavo che il suo modello di memoria fosse debole come il modello di memoria di ARM. E perché non hanno nemmeno una barriera per il compilatore?

+1

+1 per la ricerca. Non conosco TILE, ma se non hai ricevuto una risposta qui, potresti anche provare a inviare un'email all'autore o alla mailing list del kernel. – Shahbaz

risposta

Problemi correlati