के लिए कताई कर रही है मेरे कोड में एक स्पिन लॉक है जो दो धागे के बीच साझा किया जाता है। जब एक धागा ताला पकड़ रहा है और दूसरा धागा ताला पाने की कोशिश कर रहा है, तो दूसरा धागा एक प्रोसेसर पर कताई रखेगा। तो क्या होगा यदि प्रोसेसर पर एक बाधा होती है जहां थ्रेड लॉक के लिए कताई होती है?प्रोसेसर पर बाधा डालें जबकि एक और प्रक्रिया लॉक
मैंने लॉक लेने के लिए spin_lock()
का उपयोग किया है और spin_lock_irqsave()
नहीं है क्योंकि मैं स्थानीय प्रोसेसर पर बाधा को अक्षम नहीं करना चाहता हूं।
जैसा कि मैंने कर्नेल में spin_lock()
फ़ंक्शन के कोड की जांच की है, मुझे लगता है कि प्रीम्प्शन डिफ़ॉल्ट रूप से अक्षम है और कोई भी आईआरक्यू नहीं है। तो मुझे लगता है कि कताई धागे पर बाधा को प्राथमिकता मिलेगी। तो स्पिन लॉक का अर्थ गैर-नींद लॉक होने का क्या अर्थ होगा?
यह कताई के बाद व्यवधान सेवा नियमित लौटे जारी रहेगा? – joop