Intel Xe 的修正非常簡單:將 round up(value, SZ 128K) 改為 round down(value, SZ 128K)。 Torvalds 用 AI 協助加入偵錯工具、分析程式路徑及處理重複工作,但並非讓 AI 自主寫補丁。
研究答案

Create a landscape editorial hero image for this Studio Global article: How did Linus Torvalds use an AI assistant to diagnose and fix a two-year-old Intel Xe graphics-driver bug on Battlemage G21 hardware—what w. Article summary: Torvalds used the AI as an interactive debugging aide, not as an autonomous patch author: he directed experiments, had it help generate and interpret instrumentation, and personally validated the result. The final remedy. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
一行程式碼,修正了 Intel Xe 顯示驅動程式在 Battlemage G21 硬件上的嚴重故障。不過,找出這一行的過程一點也不簡單:Linus Torvalds 形容這是一場「地獄級除錯」,期間一共經歷 24 個除錯補丁版本,以及 18 次 Linux 核心重新啟動。
Torvalds 表示,AI 助手在當中幫了不少忙,尤其是處理重複性的除錯工作;但這個 AI 亦曾多次斷言問題「不可能」解決,甚至建議乾脆寫報告收工。
問題出在 Intel Xe 驅動程式計算普通 VRAM 與保留的 flat Compute Command Streamer(CCS)儲存空間分界時,採用了錯誤的取整方向。
概念上,相關程式碼由:
round_up(value, SZ_128K)改為:
round_down(value, SZ_128K)這個數值代表 VRAM 配置器可以使用的記憶體「終點」。向上取整會令實際分界與取整後分界之間的一小段記憶體,看起來像是可以分配的空間;但那一段其實屬於 CCS 的壓縮中繼資料。改用向下取整,就能確保配置器停在安全一側,不會越過保留區域。
當 VRAM 配置器誤把 CCS 儲存空間當成普通 VRAM,其他配置便有機會覆寫 GPU 正在使用的壓縮中繼資料。受影響的資料包括與頁表相關的內容,結果可以出現畫面損壞,以及 GDM(GNOME Display Manager,GNOME 顯示管理程式)不斷重新啟動等症狀。
所以,這不只是單純的數學或算術錯誤,更是對數值意義的理解出現偏差:程式將一個代表「可用記憶體到此為止」的上限,當成需要對齊的起始地址處理。正因如此,最後修正雖然只有一行,卻非常難從眾多可能原因之中鎖定出來。
Torvalds 與 AI 助手反覆加入及修改針對性的偵錯資訊,追蹤驅動程式如何計算記憶體,並比較硬件回報的 CCS 位置與交給 VRAM 配置器的分界。
經過 24 個除錯補丁版本及 18 次重新啟動、測試,兩者之間的對不上位才逐漸暴露出來。這些重複測試尤其重要,因為問題並非單靠閱讀一行可疑原始碼就能確認,而是要從硬件及顯示系統層面的實際故障反推原因。
每一次測試,都有助排除其他可能性,分辨問題究竟來自記憶體配置行為,還是圖形合成器、顯示管理程式或其他驅動邏輯。
在這次調查中,Torvalds 將 AI 當成互動式除錯夥伴,而不是可以獨立提交補丁的程式員。AI 協助提出偵錯方案、追蹤驅動程式路徑,以及分析一輪又一輪實驗所得的結果,減少了測試假設時的機械式工作量。
但 AI 並不是可靠的最終判斷者。Torvalds 說,AI 曾多次認為問題不可能或無法解決,並建議停止追查、改為撰寫報告。
真正令調查繼續下去的,是 Torvalds 自己選擇下一個實驗、辨認錯誤解讀,並理解那個偏移值在 VRAM 配置模型中究竟代表上限還是起點。換句話說,AI 負責產生可能性及處理技術細節;專家則負責建立背景脈絡、設計可以證偽的測試、堅持追查,以及對最終修正作判斷。
Torvalds 親自撰寫並提交了 Intel Xe 驅動程式修正,該修正已進入上游 Linux 核心。現有報道預期,受影響而仍在維護中的穩定核心系列,會按照一般 backport(回移植)流程獲得修正。
不過,現有資料未能可靠確認究竟是哪些穩定版本、以及何時正式包含該變更。因此,現階段不宜自行點名特定版本。使用相關硬件的用戶,應留意 Linux 發行版或核心維護者的公告,確認所用版本是否已包含修正。
這次經歷並不代表 Torvalds 全面支持由 AI 產生的核心程式碼。它反而示範了一種較窄、亦較穩妥的用法:由熟悉子系統的專家主導調查,讓 AI 加快除錯循環,但由人類負責假設、測試設計、程式碼審查,以及最終提交的結果。
這與未經測試、主動大量寄出的 AI 補丁或漏洞報告,有很大分別。核心維護者曾形容自己正面對 AI 生成提交的「猛烈攻勢」;staging 子系統維護者亦表示,除非是真正的安全修正並已在實際硬件上驗證,否則大部分 LLM 生成補丁都會被拒絕。網絡子系統同樣受到大量 AI 補丁困擾。
至於經常被引用的「提交量增加 2,700%」,則需要謹慎看待。現有資料未能確立這個數字的計算方法、統計時段,亦未清楚交代它所指的是全部提交、某個子系統,還是特定類別的補丁。 較有根據的結論是:AI 大幅降低了產生程式碼及報告的成本,但審查、驗證和分類這些內容的時間成本,仍然落在人工維護者身上。
Torvalds 也曾表示,Linux 並非一個一概反對 AI 工具的項目,尤其在程式碼審查等用途上,AI 明顯可以派上用場。 Intel Xe 這次除錯則清楚劃出實際界線:AI 可以融入嚴謹的工程流程,但不能取代對子系統的理解、可重現的測試,以及人類對結果負責。
最後的補丁只有一行。真正難得的地方,是知道應該改哪一行,並且在 AI 說「找不到答案」時,仍然沒有就此收工。
Studio Global AI
此頁麵包含一個有來源支援的答案,您可以在 Studio Global 內繼續。
Intel Xe 的修正非常簡單:將 round up(value, SZ 128K) 改為 round down(value, SZ 128K)。
Intel Xe 的修正非常簡單:將 round up(value, SZ 128K) 改為 round down(value, SZ 128K)。 Torvalds 用 AI 協助加入偵錯工具、分析程式路徑及處理重複工作,但並非讓 AI 自主寫補丁。
事件顯示,在專家監督下,AI 可以加快除錯;但大量未經測試、由 AI 生成的補丁及漏洞報告,亦會令核心維護者承受沉重審查負擔。