هڪ Amazon انجنيئر لينڪس ڪرنل 7.0 لاءِ مخصوص ريگريشن جي سڃاڻپ ڪئي، جيڪا 13 اپريل تي جاري ٿيڻ جي اميد آهي. ٽاسڪ شيڊولر سيٽنگز ۾ تبديلي جي نتيجي ۾ ARM64 سسٽم تي PostgreSQL هلائڻ وقت ٿرو پُٽ ۽ جوابدهي ۾ اهم گهٽتائي آئي. ڪرنل 7.0 استعمال ڪندي، پي جي بينچ "سادي اپڊيٽ" ٽيسٽ ۾ ڪارڪردگي تقريبن ٻه ڀيرا گهٽجي وئي، 98565 کان 50751 تائين.
سست رفتاري ڊفالٽ شيڊولر پريمپشن موڊ کي PREEMPT_NONE کان PREEMPT_LAZY ۾ تبديل ڪرڻ جي ڪري ٿي جيڪي ان کي سپورٽ ڪن ٿا. ان جي ڪري PostgreSQL پنهنجي CPU وقت جو 55٪ s_lock() کي يوزر اسپيس ۾ ڪال ڪرڻ ۾ گذاريو. هن مسئلي کي حل ڪرڻ لاءِ، PREEMPT_NONE کي ڊفالٽ ڏانهن واپس ڪرڻ ۽ ان کي ARCH_NO_PREEMPT سيٽنگ مان ان لنڪ ڪرڻ جي تجويز آهي.
پيٽر زيجلسٽرا، تبديلين جو ليکڪ جيڪي ريگريشن جو سبب بڻيا ۽ ٽاسڪ شيڊولر ۽ لاڪ سان لاڳاپيل ڪرنل سب سسٽم جي سنڀاليندڙ، چيو ته پوسٽ گري ايس ڪيو ايل ڪوڊ ۾ هڪ حل لاڳو ڪرڻ جي ضرورت آهي. ڪارڪردگي جي خرابي کي حل ڪرڻ لاءِ، هن پوسٽ گري ايس ڪيو ايل ڪرنل ۾ تازو شامل ڪيل "rseq سلائس" (ري اسٽارٽ ايبل سيڪوئنس) ايڪسٽينشن استعمال ڪرڻ جي سفارش ڪئي ته جيئن لاڪ هولڊر جي بي دخلي جي امڪان کي محدود ڪري سگهجي.
اهو اڃا تائين واضح ناهي ته لينس ٽوروالڊس ڪهڙو فيصلو ڪندو، ڇاڪاڻ ته هو ان اصول تي عمل ڪري ٿو ته ڪرنل کي ڪارڪردگي خراب نه ڪرڻ گهرجي يا صارف-اسپيس مطابقت کي ٽوڙڻ نه گهرجي. هڪ طرف، ڪرنل 7.0 رليز ٿيڻ کان اڳ آخري ٽيسٽنگ مرحلي ۾ آهي، ۽ شيڊولر سيٽنگز کي واپس ڪرڻ سان ٻين رجعتن جو سبب بڻجي سگهي ٿو. ٻئي طرف، استعمال ڪندڙ هڪ تمام مشهور ڊيٽابيس جي ڪارڪردگي جي اڌ ٿيڻ جو تجربو ڪري سگهن ٿا.
جو ذريعو: opennet.ru
