Tumia mutex_lock_interruptible chaguo ili kuruhusu dereva wako kukatizwa na mawimbi yoyote. Hii ina maana kwamba simu yako ya mfumo inapaswa kuandikwa ili iweze kuanzishwa upya. (Ona pia ERESTARTSYS.)
Je, ninaweza kufunga spinlock katika CPU moja na kuifungua CPU nyingine?
Kutumia spinlocks kwenye mfumo wa single-core/single-CPU kwa kawaida hakuna maana, kwani mradi upigaji kura wa spinlock unazuia msingi pekee wa CPU unaopatikana, hakuna thread nyingine inayoweza kukimbia na kwa kuwa hakuna thread nyingine inayoweza kufanya kazi, kufuli halitafunguliwa pia.
Je, ninaweza kupiga simu kwa Kmalloc Gfp_kernel nikiwa nimeshikilia spinlock?
Huwezi, hata hivyo, kufanya chochote kitakacholala huku umeshikilia spinlock. Kwa mfano, usiwahi simu kamwe chaguo za kukokotoa zinazogusa kumbukumbu ya mtumiaji, kmalloc na bendera ya GFP_KERNEL, vitendaji vyovyote vya semaphore au utendakazi wowote wa ratiba huku ukishikilia spinlock. … Semaphores katika Linux ni kufuli za kulala.
Spinlock_t ni nini?
int spin_trylock(spinlock_t lock) Hufunga spinlock ikiwa bado haijafungwa. Iwapo haiwezi kupata kufuli, hutoka ikiwa na hitilafu na haifungi kufuli. spin_lock_irq: spin_lock_irq(spinlock_t lock)
kernel mutex ni nini?
Kwenye kinu cha Linux, vibubu hurejelea tabia ya awali ya kufunga ambayo inatekeleza ufuataji kwenye mifumo ya kumbukumbu iliyoshirikiwa, na si tu neno la jumla linalorejelea 'kutengwa kwa pande zote' linalopatikana katika taaluma au vitabu vya kiada sawa vya nadharia.