När ska man använda mutex_lock_interruptible?

Innehållsförteckning:

När ska man använda mutex_lock_interruptible?
När ska man använda mutex_lock_interruptible?

Video: När ska man använda mutex_lock_interruptible?

Video: När ska man använda mutex_lock_interruptible?
Video: När ska man använda en varningstriangel? - 10 körkortsfrågor 2024, November
Anonim

Använd mutex_lock_interruptible-funktionen för att låta din förare avbrytas av vilken signal som helst. Detta innebär att ditt systemanrop ska skrivas så att det kan startas om. (Se även ERESTARTSYS.)

Kan jag låsa ett spinlock i en CPU och låsa upp en annan CPU?

Att använda spinlocks på ett system med en kärna/enkel-CPU är vanligtvis meningslöst, eftersom så länge spinlock-undersökningen blockerar den enda tillgängliga CPU-kärnan, kan ingen annan tråd köras och eftersom ingen annan tråd kan köras, låset kommer inte att låsas upp heller.

Kan jag ringa Kmalloc Gfp_kernel medan jag håller ett spinlock?

Du kan dock inte göra något som kommer att sova medan du håller ett spinlock. Anrop till exempel aldrig någon funktion som berör användarminnet, kmalloc med flaggan GFP_KERNEL, några semaforfunktioner eller någon av schemafunktionerna medan du håller ett spinlock. … Semaforer i Linux är sovande lås.

Vad är Spinlock_t?

int spin_trylock(spinlock_t lock) Låser spinlocket om det inte redan är låst. Om det inte går att få tag i låset avslutas det med ett fel och snurrar inte. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Vad är en kärn-mutex?

I Linux-kärnan hänvisar mutexes till en speciell låsningsprimitiv som tvingar fram serialisering på delade minnessystem, och inte bara till den allmänna termen som hänvisar till "ömsesidig uteslutning" som finns i akademin eller liknande teoretiska läroböcker.

Rekommenderad: