వచ్చే సోమవారం విడుదల కానున్న లినక్స్ కెర్నల్ 6.0, AMD జెన్ ప్రాసెసర్లతో ఉన్న పనితీరు సమస్యలను పరిష్కరించే ఒక మార్పును కలిగి ఉంది. కొన్ని చిప్సెట్లలోని హార్డ్వేర్ సమస్యను అధిగమించడానికి 20 సంవత్సరాల క్రితం జోడించిన కోడ్, పనితీరు తగ్గడానికి మూలకారణం. ఆ హార్డ్వేర్ సమస్య ఎప్పుడో పరిష్కరించబడింది మరియు ప్రస్తుత చిప్సెట్లలో కనిపించదు, కానీ ఆ పాత తాత్కాలిక పరిష్కారాన్ని వదిలివేయడంతో, అది ఆధునిక AMD CPUల ఆధారిత సిస్టమ్లలో పనితీరు క్షీణతకు కారణమైంది. ఇంటెల్ CPUలతో కూడిన కొత్త సిస్టమ్లు ఈ పాత తాత్కాలిక పరిష్కారం వల్ల ప్రభావితం కావు, ఎందుకంటే అవి షేర్డ్ ప్రాసెసర్_ఐడిల్ డ్రైవర్కు బదులుగా, ప్రత్యేకమైన ఇంటెల్_ఐడిల్ డ్రైవర్ను ఉపయోగించి ACPIని యాక్సెస్ చేస్తాయి.
STPCLK# సిగ్నల్ను ప్రాసెస్ చేయడంలో ఆలస్యం కారణంగా ఐడిల్ స్టేట్ను సరిగ్గా సెట్ చేయడంలో విఫలమవడం వల్ల చిప్సెట్లలో ఏర్పడే బగ్ను నివారించడానికి, మార్చి 2002లో కెర్నల్కు ఒక తాత్కాలిక పరిష్కారం జోడించబడింది. ఈ సమస్యను అధిగమించడానికి, ACPI ఇంప్లిమెంటేషన్కు ఒక అదనపు WAIT ఇన్స్ట్రక్షన్ జోడించబడింది, ఇది ప్రాసెసర్ను నెమ్మదింపజేసి, తద్వారా చిప్సెట్ ఐడిల్ స్టేట్లోకి ప్రవేశించేలా చేసింది. AMD Zen3 ప్రాసెసర్లపై ఇన్స్ట్రక్షన్-బేస్డ్ శాంప్లింగ్ (IBS) ఇన్స్ట్రక్షన్లను ఉపయోగించి చేసిన ప్రొఫైలింగ్లో, ప్రాసెసర్ ఒక స్టబ్ను ఎగ్జిక్యూట్ చేయడానికి గణనీయమైన సమయాన్ని వెచ్చిస్తుందని వెల్లడైంది. ఇది ప్రాసెసర్ లోడ్ను తప్పుగా అర్థం చేసుకోవడానికి మరియు cpuidle హ్యాండ్లర్ ద్వారా మరింత లోతైన స్లీప్ మోడ్లను (C-స్టేట్స్) సెట్ చేయడానికి దారితీస్తుంది.
నిష్క్రియ మరియు బిజీ స్థితుల మధ్య తరచుగా మారే వర్క్లోడ్ల కింద పనితీరు తగ్గుదలలో ఈ ప్రవర్తన ప్రతిబింబిస్తుంది. ఉదాహరణకు, వర్క్అరౌండ్ను నిలిపివేసే ప్యాచ్ను ఉపయోగించినప్పుడు, సగటు tbench బెంచ్మార్క్ ఫలితాలు 32191 MB/s నుండి 33805 MB/s కి పెరుగుతాయి.
మూలం: opennet.ru
