విండోస్ డ్రైవర్ సమస్యలతో కష్టపడుతున్నప్పుడు ఎన్విడియా ఒక AMD లైనక్స్ బగ్ను పరిష్కరించింది

AMD యొక్క “డ్రైవర్ ఇష్యూ” ఫిర్యాదులు కంపెనీకి బాగా తెలుసు, మరియు ఇది ఖచ్చితంగా వాటిని ఆసక్తికరంగా మరియు వినూత్న మార్గాల్లో ఎదుర్కోవటానికి చురుకైన ప్రయత్నం చేస్తోంది, ఉపయోగించడం వంటిది క్రొత్త AI సాధనం, ఉదాహరణకు. ఆశ్చర్యకరంగా, బహుశా, ఎన్విడియా మరింత వ్యవహరించేది డ్రైవర్ సంబంధిత అలాగే ఇతర సమస్యలు ప్రస్తుత Gen RTX 50 సిరీస్ కార్డులతో.
కాబట్టి ఎన్విడియా విండోస్లో సమస్యలతో వ్యవహరిస్తూనే ఉండగా, అక్కడి నుండి ఒక ఇంజనీర్ లైనక్స్లో AMD డ్రైవర్ బగ్ను పరిష్కరించడంలో సహాయపడ్డాడు. ఇటీవలి ప్యాచ్ నోట్ చెప్పినట్లుగా ఇది వెల్లడిస్తుంది:
AMD IGPU మరియు DGPU డ్రైవర్లపై పనితీరు రిగ్రెషన్ను పరిష్కరించండి, DMA బౌన్స్ బఫర్ల యొక్క అనాలోచిత క్రియాశీలతకు సంబంధించినది, కాస్ల్ర్ విషయాలను సరిపోయేలా చేస్తే ఆట పనితీరును తిప్పికొట్టింది.
ఆసక్తికరంగా, ఈ సమస్య, ఎన్విడియా ఇంజనీర్ చేత మునుపటి “చెడు కమిట్” యొక్క పరిణామం. ఆడుతున్నప్పుడు సమస్యలను గమనించిన బెర్ట్ కార్వాట్జ్కి చేసిన ప్రయత్నానికి ఇది పిన్ చేయగలిగింది స్టెల్లారిస్ ఆవిరిపై. అతను ఇలా వ్రాశాడు:
ఆవిరి ద్వారా ఆట స్టెలారిస్ ఆడటానికి లైనక్స్ నెక్స్ట్ -20250307 ను ఉపయోగించి, ఆటను లోడ్ చేయడం పురోగతి బార్ 100%వద్ద చిక్కుకోవడంతో మందగించడం మందగిస్తుందని నేను గమనించాను. ఈ పరిస్థితిలో మౌస్ మరియు కీబోర్డ్ ఇన్పుట్లు సరిగ్గా పనిచేయవు. VT కి మారడం మరియు స్టెలారిస్ను చంపడం కొంతవరకు పరిస్థితిని పరిష్కరిస్తుంది, అయితే ఒక సందర్భంలో టచ్ప్యాడ్ ఆ తర్వాత పని చేయలేదు. నేను దీనిని V6.14-RC5 మరియు తదుపరి -20250307 మధ్య విభజించాను మరియు ఇది మొదటి చెడ్డ కమిట్ గా వచ్చింది
….
నెక్స్ట్ -20250307 లో కమిట్ 7ffb791423c7 కమిట్ నాకు సమస్యను పరిష్కరిస్తుంది. OS డెబియన్ SID (చివరిగా నవీకరించబడింది 20250309) మరియు ఇది హార్డ్వేర్ ఒక MSI ఆల్ఫా 15 ల్యాప్టాప్
మరింత దర్యాప్తు చేసిన తరువాత, బగ్ కెర్నల్ అడ్రస్ స్పేస్ లేఅవుట్ రాండమైజేషన్ (KASLR) ఫీచర్తో నిలిపివేయబడినప్పుడు (నోకాస్ఎల్ఆర్) సమస్య యొక్క ఫలితం అని అర్ధం, ఇది DMA (డైరెక్ట్ మెమరీ యాక్సెస్) పరిష్కార లోపానికి దారితీస్తుంది. ఆశ్చర్యపోతున్నవారికి, కస్ఎల్ఆర్ అనేది భద్రతా లక్షణం, ఇది కెర్నల్ను మెమరీలో యాదృచ్ఛిక స్థానానికి లోడ్ చేయడంలో సహాయపడుతుంది మరియు ఇది మెమరీ భద్రత కోసం ఉద్దేశించబడింది.
ప్యాచ్ గమనికలు ఇలా చెబుతున్నాయి:
బెర్ట్ కార్వాట్జ్కి నివేదించినట్లుగా, ఈ క్రింది ఇటీవలి నిబద్ధత AMD IGPU మరియు DGPU వ్యవస్థలపై పనితీరు రిగ్రెషన్కు కారణమవుతుంది:
7ffb791423c7 (“x86/kaslr: చాలా x86 వ్యవస్థలపై KASLR ఎంట్రోపీని తగ్గించండి”)
ఇది నోకాస్ఎల్ఆర్ మరియు జోన్ పరికర పరస్పర చర్యతో బగ్ను బహిర్గతం చేసింది. బగ్ యొక్క మూల కారణం ఏమిటంటే, GPU డ్రైవర్ జోన్ పరికరం ప్రైవేట్ మెమరీ ప్రాంతాన్ని నమోదు చేస్తుంది. KASLR నిలిపివేయబడినప్పుడు లేదా పై కమిట్ వర్తించినప్పుడు, డైరెక్ట్_మాప్_ఫిస్మెమ్_ఎండ్ సాధారణంగా 64 టిఐబి చిరునామాకు 10 టిఐబి కంటే ఎక్కువ సెట్ చేయబడుతుంది.
జోన్ పరికరం ప్రైవేట్ మెమరీని Add_pages () ద్వారా సిస్టమ్కు జోడించినప్పుడు, ఇది MAX_PFN ను అదే విలువకు పెంచుతుంది. ఇది DMA_ADDRESSING_LIMITED () నిజం తిరిగి రావడానికి కారణమవుతుంది, ఎందుకంటే పరికరం MAX_PFN వరకు మెమరీని పరిష్కరించదు.
ఇది IGPU లో ఆడిన ఆటలకు రిగ్రెషన్కు కారణమైంది, ఎందుకంటే ఇది GPU కేటాయింపులకు DMA32 జోన్ ఉపయోగించబడింది.
దిగువ సోర్స్ LKML (Linux కెర్నల్ మెయిలింగ్ జాబితా) లింక్లలో మీరు వాటిని పూర్తిగా చదవవచ్చు.