लेखक ने QEMU और Raspberry Pi बोर्ड्स को लक्षित करते हुए AArch64 ऑपरेटिंग सिस्टम कर्नेल floss विकसित किया है। वास्तविक हार्डवेयर पर परीक्षण से QEMU एमुलेशन द्वारा नहीं पकड़े गए मुद्दों का खुलासा हुआ। इस पोस्ट में लोड एक्सक्लूसिव (ldaxr) और स्टोर एक्सक्लूसिव (stxr) निर्देशों का उपयोग करके CPU कोर के बीच आपसी बहिष्करण के लिए स्पिन लॉक के कार्यान्वयन का विवरण दिया गया है। लॉक एक 32-बिट शब्द का उपयोग करता है जहाँ 0 का अर्थ अनलॉक्ड है और 1 का अर्थ लॉक्ड है। ldaxr निर्देश में अधिग्रहण अर्थशास्त्र शामिल है जो मेमोरी पुनर्क्रमण को रोकता है, जबकि अनलॉक में stlr (स्टोर-रिलीज़) रिलीज़ अर्थशास्त्र सुनिश्चित करता है। कार्यान्वयन कोर आउटपुट इंटरलीविंग के खिलाफ सुरक्षा प्रदान करता है, जिससे केवल एक कोर एक समय में प्रिंट करता है। हालाँकि, वास्तविक हार्डवेयर पर लोड एक्सक्लूसिव ऑपरेशनों के दौरान कभी-कभी QEMU द्वारा अनुकरण नहीं किए गए अपवाद उत्पन्न होते हैं। लेखक ने परीक्षण के माध्यम से सहीपन को मान्य किया है, यह नोट करते हुए कि बेसिक स्पिन लॉक में निष्पक्षता की कमी है और बिजी-वेटिंग के कारण खराब प्रदर्शन होता है, जिससे भविष्य के कार्य के लिए wfe/sev के माध्यम से शक्ति-कुशल प्रतीक्षा का सुझाव दिया जाता है।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित