قام لينوس تورفالدز بإعداد مجموعة من التصحيحات لنظام إدارة الذاكرة الفرعي الخاص بالنواة. Linuxيتضمن هذا التحديث تحسينات لقراءة أجزاء صغيرة من البيانات من ذاكرة التخزين المؤقت للصفحات دون تغيير عدد المراجع (refcount) في بنية الملفات بشكل ذري. ويشير نص التحديث إلى أن التغييرات والاختبارات المرتبطة بها ونص التعليقات التوضيحية الأولي قد أُنشئت بواسطة مساعد الذكاء الاصطناعي Claude Code تحت إشراف تورفالدز. أُضيف التغيير إلى فرع نواة منفصل، noref-filemap-read-with-llm، ولم يتضح بعد ما إذا كان سيُدمج في الفرع الرئيسي أم أنه مجرد تجربة داخلية.
أثناء الاختبار، أدت التحديثات إلى زيادة إنتاجية قراءة الملفات الصغيرة في تكوين ثماني الخيوط من 9.9-10.4 إلى 30-33 مليون عملية في الثانية (زيادة بمقدار ثلاثة أضعاف)، وفي تكوين رباعي الخيوط من 8.9-11.6 إلى 25-26 مليون عملية في الثانية (زيادة بمقدار الضعف)، وفي تكوين أحادي الخيط من 7.9-8.1 إلى 8.8-8.9 مليون عملية في الثانية. يُعزى هذا التحسن في الأداء إلى أن الوصول المتزامن إلى ذاكرة التخزين المؤقت للصفحات يُسبب تنافسًا شديدًا بين الخيوط عند الوصول إليها. على سبيل المثال، عندما تحاول ثمانية خيوط قراءة 16 بايت من البيانات في وقت واحد، فإن 99.92% من الوقت يُقضى ليس في عملية القراءة نفسها، بل في انتظار الوصول إلى عداد المراجع.
لضمان صحة البيانات، تستخدم الرقعة حلاً بديلاً يعتمد على تحرير الذاكرة المؤجل مع المزامنة عبر آلية القراءة والنسخ والتحديث (RCU)، بدلاً من الحصول على أقفال منفصلة، أو تغيير عدادات المراجع، أو التخزين المؤقت الوسيط. تضمن هذه الطريقة عدم تحرير صفحة الذاكرة فعلياً حتى ينتهي خيط القراءة من نسخ البيانات.
المصدر: opennet.ru
