HeadlinesBriefing HeadlinesBriefing.com

تحديات تنفيذ قفل الدوران AArch64 على الأجهزة الحقيقية

Hacker News •
×

كان المؤلف يطور floss، وهو نواة نظام تشغيل AArch64 تستهدف QEMU ولوحات Raspberry Pi. كشف الاختبار على الأجهزة الحقيقية عن مشكلات لم يتم اكتشافها بواسطة محاكاة QEMU. تفصل هذه المشاركة تنفيذ قفل دوران باستخدام تعليمات التحميل الحصرية (ldaxr) والتخزين الحري (stxr) للاستبعاد المتبادل بين نوى وحدة المعالجة المركزية. يستخدم القفل كلمة 32 بت حيث يعني 0 غير مقفل و1 يعني مقفل. تتضمن تعليمات ldaxr دلالات الاستحواذ لمنع إعادة ترتيب الذاكرة، بينما تضمن stlr (التخزين-الإطلاق) في الفتح دلالات الإطلاق. تحمي التنفيذ من intercalation مخرجات النواة، مما يضمن أن noyau واحد فقط يطبع في وقت واحد. ومع ذلك، فإن الأجهزة الحقيقية تسبب أحيانًا استثناءات أثناء عمليات التحميل الحصرية التي لا يحاكي QEMU. يؤكد المؤلف على الصحة من خلال الاختبار، مشيرًا إلى أن قفل الدوران الأساسي يفتقر إلى العدالة وله أداء ضعيف بسبب الانتظار المزدحم، ويقترح عملًا مستقبليًا باستخدام wfe/sev للانتظار الفعال من حيث الطاقة.

المصدر: Hacker News · لخّصه HeadlinesBriefing