লেখক QEMU এবং Raspberry Pi বোর্ড লক্ষ্য করে AArch64 অপারেটিং সিস্টেম কার্নেল floss বিকাশ করছেন। বাস্তব হার্ডওয়্যারে পরীক্ষা করার সময় QEMU এমুলেশন দ্বারা পকানো না হওয়া সমস্যা উঠে এসেছে। এই পোস্টে CPU কোরের মধ্যে পরস্পর বর্জনের জন্য load exclusive (ldaxr) এবং store exclusive (stxr) নির্দেশ ব্যবহার করে স্পিন লক বাস্তবায়নের বিস্তারিত ব্যাখ্যা দেওয়া হয়েছে। লকটি একটি 32-বিট শব্দ ব্যবহার করে যেখানে 0 মানে আনলকড এবং 1 মানে লকড। ldaxr নির্দেশটি অ্যাকুইজ SEMANTICS অন্তর্ভুক্ত করে যা মেমোরি পুনরায় ক্রমবিন্যাস রোধ করে, যখন stlr (স্টোর-রিলিজ) আনলক করার সময় রিলিজ SEMANTICS নিশ্চিত করে। বাস্তবায়নটি কোর আউটপুট ইন্টারলিভিং প্রতিরোধ করে, যা নিশ্চিত করে যে শুধুমাত্র একটি কোর এক সময়ে প্রিন্ট করে। যাইহোক, বাস্তব হার্ডওয়্যারে কখনও কখনও load exclusive অপারেশন চলাকালীন QEMU অনুকরণ না করা ব্যতিক্রম ঘটে। লেখক পরীক্ষার মাধ্যমে সঠিকতা যাচাই করেছেন, মনে করেছেন যে মৌলিক স্পিন লক ন্যায্যতা থেকে বিমুখ এবং বিজি-ওয়েটিং এর কারণে খারাপ কর্মক্ষমতা দেখায়, এবং ভবিষ্যতের কাজে wfe/sev এর মাধ্যমে শক্তি-কुशল অপেক্ষার সুপারিশ করেছেন।
উৎস: Hacker News · সারাংশ: HeadlinesBriefing