تم العثور على تصحيح منسي في Linux kernel يؤثر على أداء وحدات المعالجة المركزية AMD

ويتضمن نواة Linux 6.0، المتوقع إطلاقه يوم الاثنين المقبل، تغييرًا يعالج مشكلات الأداء في الأنظمة التي تعمل على معالجات AMD Zen. تم اكتشاف أن مصدر انخفاض الأداء هو كود تمت إضافته منذ 20 عامًا للتغلب على مشكلة في الأجهزة في بعض الشرائح. تم إصلاح مشكلة الأجهزة منذ فترة طويلة ولا تظهر في الشرائح الحالية، ولكن تم نسيان الحل البديل القديم للمشكلة وأصبح مصدرًا لتدهور الأداء على الأنظمة التي تعتمد على وحدات المعالجة المركزية AMD الحديثة. لا تتأثر الأنظمة الجديدة على وحدات المعالجة المركزية Intel بالحل القديم، حيث إنها تصل إلى ACPI باستخدام برنامج تشغيل intel_idle منفصل، وليس برنامج تشغيل المعالج العام.

تمت إضافة حل بديل إلى النواة في مارس 2002 لمنع ظهور خطأ في مجموعات الشرائح المرتبطة بعدم ضبط حالة الخمول بشكل صحيح بسبب التأخير في معالجة إشارة STPCLK#. للتغلب على المشكلة، أضاف تطبيق ACPI تعليمة انتظار إضافية، مما يؤدي إلى إبطاء المعالج بحيث يكون لدى مجموعة الشرائح الوقت الكافي للانتقال إلى حالة الخمول. عند إنشاء ملف تعريف باستخدام تعليمات IBS (أخذ العينات المستندة إلى التعليمات) على معالجات AMD Zen3، تم اكتشاف أن المعالج يقضي قدرًا كبيرًا من الوقت في تنفيذ المحطات، مما يؤدي إلى تفسير غير صحيح لحالة تحميل المعالج وتعيين أوضاع سكون أعمق (C- الحالة) بواسطة المعالج cpuidle.

ينعكس هذا السلوك في انخفاض الأداء ضمن أحمال العمل التي تتناوب بشكل متكرر بين حالات الخمول والانشغال. على سبيل المثال، عند استخدام تصحيح يقوم بتعطيل مناورة التجاوز، تزيد متوسطات اختبار tbench من 32191 ميجابايت/ثانية إلى 33805 ميجابايت/ثانية.

المصدر: opennet.ru

إضافة تعليق