ሹፌርዎ በማንኛውም ሲግናል እንዲቋረጥ ለማድረግ mutex_lock_interruptible functionይጠቀሙ። ይህ የሚያመለክተው የስርዓት ጥሪዎ እንደገና እንዲጀመር መፃፍ አለበት። (እንዲሁም ERESTARTSYS ይመልከቱ።)
Spinlock በአንድ ሲፒዩ ቆልፈው ሌላ ሲፒዩ መክፈት እችላለሁ?
Spinlocksን በነጠላ ኮር/ነጠላ ሲፒዩ መጠቀም ብዙ ጊዜ ትርጉም የለውም፣የእስፒንሎክ ምርጫ ብቸኛው የሚገኘውን ሲፒዩ ኮር እየከለከለ ስለሆነ ሌላ ክር መሮጥ ስለማይችል ሌላ ክር መሮጥ ስለማይችል። ቁልፉም አይከፈትም።
ስፒን ሎክ ይዤ ወደ Kmalloc Gfp_kernel መደወል እችላለሁ?
አይችሉም፣ነገር ግን ስፒን ሎክ እየያዙ የሚተኛ ማንኛውንም ነገር ያድርጉ።ለምሳሌ የተጠቃሚውን ማህደረ ትውስታ የሚነካ ማንኛውንም ተግባር፣ ኪሜሎክ ከጂኤፍፒ_KERNEL ባንዲራ ጋር፣ ማንኛውንም ሴማፎር ተግባራትን ወይም ማንኛውንም የመርሃግብር ተግባራትን ስፒን ሎክ በመያዝ አይጥራ። … ሴማፎሮች በሊኑክስ ውስጥ የመኝታ ቁልፎች ናቸው።
Spinlock_t ምንድን ነው?
int spin_trylock(spinlock_t lock) ስፒን መቆለፊያውን ይቆልፋል አስቀድሞ ካልተቆለፈ። መቆለፊያውን ማግኘት ካልቻለ በስህተት ይወጣል እና መቆለፊያን አይሽከረከርም. spin_lock_irq: spin_lock_irq(spinlock_t lock)
የከርነል mutex ምንድን ነው?
በሊኑክስ ከርነል ውስጥ፣ mutexes በተጋሩ የማህደረ ትውስታ ስርዓቶች ላይ ተከታታይነትን የሚያስፈጽም ልዩ የመቆለፍ ፕሪሚቲቭ፣ እና በ ውስጥ የሚገኘውን 'እርስ በርስ መገለልን' የሚያመለክት አጠቃላይ ቃልን ብቻ አይደለም። አካዳሚ ወይም ተመሳሳይ ቲዎሬቲካል የመማሪያ መጽሐፍት።