Millal kasutada mutex_lock_interruptible?

Sisukord:

Millal kasutada mutex_lock_interruptible?
Millal kasutada mutex_lock_interruptible?

Video: Millal kasutada mutex_lock_interruptible?

Video: Millal kasutada mutex_lock_interruptible?
Video: KIWI inhalaator. Kuidas kasutada ja hooldada KIWI inhalaatorit? 2024, November
Anonim

Kasutage funktsiooni mutex_lock_interruptible , et lubada teie draiverit mis tahes signaaliga katkestada. See tähendab, et teie süsteemikõne tuleks kirjutada, et seda saaks taaskäivitada. (Vt ka ERESTARTSYS.)

Kas ma saan lukustada spinlocki ühes CPU-s ja avada selle teises CPU-s?

Spinlockide kasutamisel ühetuumalise/ühe protsessoriga süsteemis pole tavaliselt mõtet, kuna seni, kuni spinlocki küsitlus blokeerib ainsa saadaoleva CPU-tuuma, ei saa käitada ühtegi teist lõime ja kuna ükski teine lõim ei tööta, lukku ka ei avata.

Kas ma saan helistada Kmalloc Gfp_kernelile, hoides spinlocki?

Te ei saa aga teha midagi, mis spinlocki hoides magab. Näiteks ärge kunagi kutsuge spinlocki hoides mitte ühtegi funktsiooni, mis puudutab kasutaja mälu, kmalloci lipuga GFP_KERNEL, mis tahes semaforifunktsioone ega ajakavafunktsioone. … Linuxi semafoorid on uinuvad lukud.

Mis on Spinlock_t?

int spin_trylock(spinlock_t lock) Lukustab spinlocki kui see pole juba lukus. Kui lukku ei õnnestu hankida, väljub see veaga ja lukku ei keerata. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Mis on tuuma mutex?

Linux'i tuumas viitavad mutexid teatele lukustusprimitiivile, mis jõustab serialiseerimise ühismälusüsteemides, mitte ainult üldisele terminile, mis viitab 'vastastikusele välistamisele'. akadeemilised või sarnased teoreetilised õpikud.

Soovitan: