Mikor érdemes használni a mutex_lock_interruptible-t?

Tartalomjegyzék:

Mikor érdemes használni a mutex_lock_interruptible-t?
Mikor érdemes használni a mutex_lock_interruptible-t?

Videó: Mikor érdemes használni a mutex_lock_interruptible-t?

Videó: Mikor érdemes használni a mutex_lock_interruptible-t?
Videó: Can You Play SOLO Board Games as a Roleplaying Game??? 2024, November
Anonim

Használja a mutex_lock_interruptible funkciót , hogy az illesztőprogramot bármilyen jel megszakítsa. Ez azt jelenti, hogy a rendszerhívást úgy kell megírni, hogy újraindítható legyen. (Lásd még: ERESTARTSYS.)

Zárolhatok egy spinlockot az egyik CPU-ban, és oldhatok fel egy másik CPU-ban?

A spinlock használatának egymagos/egy CPU-s rendszereken általában nincs értelme, mivel amíg a spinlock lekérdezés blokkolja az egyetlen elérhető CPU-magot, egyetlen másik szál sem futhat, és mivel egyetlen másik szál sem futhat, a zár sem oldódik fel.

Hívhatom a Kmalloc Gfp_kernel-t spinlock alatt?

Nem tehetsz azonban semmit, ami aludni fog spinlock tartva. Például soha ne hívjon meg egyetlen olyan funkciót sem, amely érinti a felhasználói memóriát, a GFP_KERNEL jelzővel ellátott kmalloc-ot, a szemafor függvényeket vagy az ütemezési funkciókat, miközben a spinlock tart. … A szemaforok a Linuxban alvó zárak.

Mi az a Spinlock_t?

int spin_trylock(spinlock_t lock) Zárolja a spinlockot ha még nincs zárolva. Ha nem tudja megszerezni a zárat, hibával kilép, és nem forog zár. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Mi az a kernelmutex?

A Linux kernelben a mutexek egy bizonyos zárolási primitívre utalnak, amely a sorozatosítást kényszeríti ki a megosztott memóriás rendszereken, és nem csak a „kölcsönös kizárásra” utaló általános kifejezésre, amely a tudományos vagy hasonló elméleti tankönyvek.

Ajánlott: