Ho implementato un mutex su un sistema embedded che ha un processore armv7 e uno scheduler di base
Ci sono diverse istruzioni nel set di istruzioni armv7 utilizzate per l'efficienza energetica.
Due di queste istruzioni sono WFE (wait for event) e WFI (attendere l'interrupt), le istruzioni immettono il processore in modalità di attesa finché non viene generato un evento o viene generato un interrupt di conseguenza.
Anche il processore uscirà dalla modalità inattiva se la condizione che accompagnava l'istruzione è vera.
Potrei usare uno a queste istruzioni quando non sono riuscito ad acquisire il mutex, quindi il processore sarà inattivo attraverso il restante segmento di tempo finché non viene generato un interrupt del timer e quindi lo scheduler passerà a un'altra attività.
Se non sono interessato al consumo di energia, esiste davvero un motivo per utilizzare queste istruzioni anziché il ciclo di occupato?