Kada naudoti mutex_lock_interruptible?

Turinys:

Kada naudoti mutex_lock_interruptible?
Kada naudoti mutex_lock_interruptible?

Video: Kada naudoti mutex_lock_interruptible?

Video: Kada naudoti mutex_lock_interruptible?
Video: BIOMAS GROW: kada naudoti bakterijas yra efektyviausia? 2024, Lapkritis
Anonim

Naudokite mutex_lock_interruptible funkciją , kad jūsų vairuotojas būtų pertrauktas bet kokio signalo. Tai reiškia, kad jūsų sistemos skambutis turi būti parašytas, kad jį būtų galima paleisti iš naujo. (Taip pat žr. ERESTARTSYS.)

Ar galiu užrakinti sukimosi blokavimą viename procesoriuje ir atrakinti jį kitame procesoriuje?

Spinlocks naudojimas vieno branduolio/vieno procesoriaus sistemoje paprastai neturi prasmės, nes tol, kol spinlock apklausa blokuoja vienintelį galimą procesoriaus branduolį, jokia kita gija negali veikti, o jokia kita gija negali veikti, užraktas taip pat nebus atrakintas.

Ar galiu iškviesti Kmalloc Gfp_kernel laikydamas užraktą?

Negalite, tačiau negalite daryti nieko, kas užmigtų laikydami užraktą. Pvz., Niekada neiškvieskite jokių funkcijų, kurios liečia vartotojo atmintį, kmalloc su GFP_KERNEL vėliava, jokios semaforo funkcijos ar bet kurios tvarkaraščio funkcijos, kai laikote sukimosi užraktą. … Semaforai Linux sistemoje yra miego užraktai.

Kas yra Spinlock_t?

int spin_trylock(spinlock_t lock) Užrakina sukimosi blokavimą jei jis dar neužrakintas. Jei nepavyksta gauti užrakto, jis išeina su klaida ir nepasuka užrakto. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Kas yra branduolio mutex?

Linux branduolyje mutexes reiškia konkretų užrakinimo primityvą, kuris užtikrina serializavimą bendrosios atminties sistemose, o ne tik bendrąjį terminą, nurodantį „abipusį išskyrimą“, esantį mokslo ar panašių teorinių vadovėlių.

Rekomenduojamas: