Драйвердің кез келген сигналмен үзілуіне мүмкіндік беру үшін mutex_lock_interruptible функциясын пайдаланыңыз. Бұл сіздің жүйелік қоңырауды қайта іске қосу үшін жазу керек дегенді білдіреді. (Сонымен қатар ERESTARTSYS қараңыз.)
Бір процессордағы спинлокты құлыптап, басқа процессордың құлпын ашуға болады ма?
Спинлоктарды бір ядролы/бір процессорлы жүйеде пайдалану әдетте мағынасыз, өйткені спинлок сұрауы қол жетімді процессордың жалғыз өзегін блоктағанша, басқа ешбір ағын іске қосыла алмайды және басқа ешқандай ағын іске қосыла алмайтындықтан, құлып та ашылмайды.
Spinlock ұстап тұрғанда Kmalloc Gfp_kernel-ге қоңырау шала аламын ба?
Сіз дегенмен, спинлокты ұстап тұрып ұйықтайтын кез келген нәрсені жасай алмайсыз. Мысалы, пайдаланушы жадына тиетін ешбір функцияны, GFP_KERNEL жалаушасы бар kmalloc, кез келген семафорлық функцияларды немесе спинлокты ұстап тұрған кезде кез келген кесте функцияларын ешқашан шақырмаңыз. … Linux жүйесіндегі семафорлар ұйқы құлыптары.
Spinlock_t дегеніміз не?
int spin_trylock(spinlock_t lock) Спинлокты құлыптайды егер ол әлі құлыпталмаған болса. Құлыпты алу мүмкін болмаса, ол қатемен шығып, құлыпты айналдырмайды. spin_lock_irq: spin_lock_irq(spinlock_t құлыптау)
Ядро мутексі дегеніміз не?
Linux ядросындағы мутекстер ортақ жад жүйелерінде сериялауды қамтамасыз ететін арнайы құлыптау примитивіне сілтеме жасайды және мына жерде табылған «өзара алып тастауға» қатысты жалпы терминге ғана емес, академиялық немесе ұқсас теориялық оқулықтар.