Kdaj uporabiti mutex_lock_interruptible?

Kazalo:

Kdaj uporabiti mutex_lock_interruptible?
Kdaj uporabiti mutex_lock_interruptible?

Video: Kdaj uporabiti mutex_lock_interruptible?

Video: Kdaj uporabiti mutex_lock_interruptible?
Video: Mit: Kako deluje kineziološki trak | Kdaj uporabiti | Ali res deluje proti bolečinam 2024, November
Anonim

Uporabite funkcijo mutex_lock_interruptible , da omogočite, da vaš voznik prekine kateri koli signal. To pomeni, da mora biti vaš sistemski klic napisan tako, da ga je mogoče znova zagnati. (Glejte tudi ERESTARTSYS.)

Ali lahko zaklenem zaklepanje v enem CPU-ju in ga odklenem v drugem CPU-ju?

Uporaba zaklepanja v sistemu z enim jedrom/enim CPE običajno nima smisla, saj dokler anketiranje spinlock blokira edino razpoložljivo jedro CPU, se nobena druga nit ne more izvajati in ker se nobena druga nit ne more izvajati, ključavnica tudi ne bo odklenjena.

Ali lahko pokličem Kmalloc Gfp_kernel, medtem ko držim zaklep?

Ne morete, vendar ne morete storiti ničesar, kar bo spalo, medtem ko držite zaklep. Na primer, nikoli ne pokličite nobene funkcije, ki se dotika uporabniškega pomnilnika, kmalloc z zastavo GFP_KERNEL, katere koli funkcije semafora ali katere koli funkcije urnika, medtem ko držite spinlock. … Semafori v Linuxu so spalne ključavnice.

Kaj je Spinlock_t?

int spin_trylock(spinlock_t lock) Zaklene zaklepanje če še ni zaklenjeno. Če ključavnice ni mogoče pridobiti, se zapre z napako in se ne zaklene. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Kaj je mutex jedra?

V jedru Linuxa se muteksi nanašajo na določen primitiv za zaklepanje, ki uveljavlja serializacijo na sistemih skupnega pomnilnika, in ne samo na generični izraz, ki se nanaša na 'vzajemno izključitev' v akademski svet ali podobni teoretični učbeniki.

Priporočena: