Wanneer mutex_lock_interruptible gebruiken?

Inhoudsopgave:

Wanneer mutex_lock_interruptible gebruiken?
Wanneer mutex_lock_interruptible gebruiken?

Video: Wanneer mutex_lock_interruptible gebruiken?

Video: Wanneer mutex_lock_interruptible gebruiken?
Video: Mutex-slot 2024, November
Anonim

Gebruik de mutex_lock_interruptible-functie om uw stuurprogramma te laten onderbreken door elk signaal. Dit houdt in dat uw systeemaanroep moet worden geschreven zodat deze opnieuw kan worden gestart. (Zie ook ERESTARTSYS.)

Kan ik een spinlock in de ene CPU vergrendelen en ontgrendelen in een andere CPU?

Het gebruik van spinlocks op een single-core/single-CPU-systeem heeft meestal geen zin, aangezien zolang de spinlock-polling de enige beschikbare CPU-core blokkeert, geen enkele andere thread kan worden uitgevoerd en aangezien geen enkele andere thread kan worden uitgevoerd, het slot wordt ook niet ontgrendeld.

Kan ik Kmalloc Gfp_kernel bellen terwijl ik een spinlock vasthoud?

Je kunt echter niets doen dat slaapt terwijl je een spinlock vasthoudt. Roep bijvoorbeeld nooit een functie aan die het gebruikersgeheugen raakt, kmalloc met de GFP_KERNEL-vlag, semafoorfuncties of een van de schemafuncties terwijl u een spinlock vasthoudt. … Semaforen in Linux zijn slaapsloten.

Wat is Spinlock_t?

int spin_trylock(spinlock_t lock) Vergrendelt de spinlock als deze nog niet is vergrendeld. Als het slot niet kan worden verkregen, wordt het afgesloten met een fout en draait het slot niet. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Wat is een kernel mutex?

In de Linux-kernel verwijzen mutexen naar een bepaalde locking-primitief die serialisatie op gedeelde geheugensystemen afdwingt, en niet alleen naar de algemene term die verwijst naar 'wederzijdse uitsluiting' in academische wereld of soortgelijke theoretische leerboeken.

Aanbevolen: