Für diese Situation: Prozess B wird Prozess A Release Spin warten, so preemt OK ??? Process A: -->spin lock --> do strict call --> before unlock time int
Time int ISR: --> Process A time slice finished --> need schedule -->ISR ret --> schedule to Process B
Process B: -->spin lock for same resource --> failed --> spin wait
Warum spin_lock preempt deaktivieren sollte? wenn nicht preempt was passieren wird?
0
A
Antwort
2
In der Situation, vorausgesetzt, Sie Prozess B wird busy wait bis seine Scheibe endet und ein occures zu Prozess Umschuldung. Also, ganze Zeitscheibe wäre eine Verschwendung der Zeit.
Dinge können schlimmer sein, wenn aus Verfahren B zu Prozessschalt A nie wird occures. Z. B. wenn die Priorität des Prozesses B mehr als einer der Prozess A ist. In diesem Fall ist es Deadlock.
Deaktivierung der Vorbelegung in spin_lock
schützt vor Zeitverschwendung und Deadlock wie oben beschrieben.
Verwandte Themen
- 1. Wie funktioniert Linux synchronisieren preempt Zählung
- 2. RT preempt vs RTAI vs Xenomai für Echtzeit-Linux
- 3. Doppelfreigabe, wenn es nicht passieren sollte
- 4. Wenn ThreadLocal-Variable nicht gelöscht wird, was wird passieren?
- 5. JASIG CAS CORS Was sollte passieren, wenn Origin == "null" ist?
- 6. StackService: Preempt Benutzer-Logins und Rollen zuweisen und Berechtigungen für Login
- 7. Warum ist Interrupt zwischen spin_lock und spin_unlock in Linux deaktiviert?
- 8. Dropdown wird nicht ausgewählt, wenn es sein sollte ... warum?
- 9. Überschreiben Gleich(), aber nicht alle Felder prüfen - was wird passieren?
- 10. Was sollte compressionQuality sein, wenn UIImageJPEGRepresentation verwendet wird?
- 11. Inhalt von CardView ist abgeschnitten, während es nicht passieren sollte
- 12. Was ist der Unterschied zwischen spin_lock und raw_spin_lock()?
- 13. Wann wird das passieren?
- 14. was an die Steckdose passieren wird, wenn binden, zuhören, oder akzeptieren nicht
- 15. Was würde passieren, wenn eine signierte DLL durch eine nicht signierte ersetzt wird?
- 16. Was sollte die Suchmethode zurückgeben, wenn nichts gefunden wird?
- 17. Typen die DAL und BLL sollte passieren
- 18. Jenkins Build wird nicht fehlschlagen, wenn es sollte
- 19. $ rootscope $ emittieren/$ Broadcast wird nicht passieren Parameter
- 20. Was kann zwischen viewWillAppear und viewDidAppear passieren?
- 21. Warum druckt dieser Code nicht, was er sollte?
- 22. MVVM - Was sollte was enthalten? Was sollte was erstellen?
- 23. Was wird mit bestehenden Verbindungen passieren, wenn zwischen 3g/wifi wechseln
- 24. Was macht CommonsPool2TargetSource, wenn Sie blockWhenExhausted deaktivieren?
- 25. Firebase Was wird mit den alten Codes passieren?
- 26. Warum sollte das nicht kompilieren?
- 27. Warum sollte man
- 28. Warum wird admin.autodiscover() nicht automatisch in Django aufgerufen, wenn der Admin verwendet wird, warum sollte er explizit aufgerufen werden?
- 29. Html5-Schaltfläche wird: Hover, wenn es nicht sollte
- 30. Was ist zu passieren? Referenzobjekt oder Werttyp?