TGViewer
Linux / Линукс Linux / Линукс @linux_gram · 13.7K subscribers
Post #12556 2.77K
Линус Торвальдс использовал ИИ для отладки ошибки в драйвере графического процессора Intel

Я потратил весь сегодняшний день на поиск этой проблемы, в перерывах между работой по окну слияния, поскольку она наконец стала воспроизводимой.

И исправление оказалось, по сути, однострочным, хотя сеанс отладки, чтобы до него дойти, таким не был.

Драйвер Xe берет адрес памяти, используемый для выделенной памяти для CCS, и округляет его до ближайшей области 128 КБ.

И это очень-очень неправильно, потому что это означает, что драйвер Xe затем будет *использовать* ту часть памяти, которая не находится на границе 128 КБ. И аппаратный движок тоже будет использовать и записывать в нее.

И когда эта память оказывается использованной для страниц таблиц GPU, происходят очень плохие вещи.

Я подозреваю, что это также объясняет некоторые случайные случайные повреждения экрана, которые я видел — когда память не используется для чего-то столь важного, как таблица страниц, она «лишь» повреждает случайную растровую память и тому подобное.

Я закоммитил исправление как коммит 818bebeb63dd («drm/xe: Don't hand out the flat CCS storage as usable VRAM»).

Добавляю некоторых людей из коммита 37173392741c («drm/xe/vram: fix ccs offset calculation») в копию, потому что именно оттуда пришла проблема. Два года назад. Я не уверен, почему теперь она стала для меня такой воспроизводимой, но, очевидно, изменение поведения пользовательского пространства теперь запускает ее практически при каждом запуске.

Линус


https://github.com/torvalds/linux/commit/818bebeb63dd6bf5f4e07e145f6cdbace520a34c

[И это был адский сеанс отладки, которому чрезвычайно помог искусственный интеллект, выполнявший большую часть черновой работы.
Я бы хотел назвать это своим неустающим помощником, но ИИ несколько раз прямо заявлял, что это невозможно и неразрешимо, и что мы должны просто написать отчет об этом.
Я подозреваю, что этим вещам обучены люди, которые, возможно, не такие упрямые, как я.
Но хотя ИИ несколько раз был готов сдаться, он продолжал добавлять отладочный код и тщательно анализировать его, когда я нажимал на него. Так что отдавайте должное, и я позволил ИИ написать сообщение о фиксации, приведенное выше.
Это, по сути, однострочное исправление фиктивного "round_up()" на "round_down()", но было выпущено 24 исправления, добавляющих все больше и больше отладочной информации, и 18 загрузок ядра, чтобы, наконец, сузить поиск до этого. - Linus ]

Linux / Линукс
🥸
  • ❤ 30
  • 🫡 11
  • 👍 2
  • 😈 2
More from @linux_gram
  1. Oct 8, 2026Linux / Линукс 🥸
  2. Oct 8, 2026Чем заменить VMware, не потеряв привычные возможности При выборе платформы на замену VMwar…
  3. Oct 8, 2026Linux Cheat Sheet - шпаргалка по Linux и Bash на русском Теория простым языком (как устрое…
  4. Oct 8, 2026Надеюсь, он установит ОС на голое железо. Linux / Линукс 🥸
  5. Oct 8, 2026Post #12917
  6. Oct 7, 2026Опубликованы сборки Raspberry Pi OS для ноутбуков и ПК на базе архитектуры x86_64 Проект R…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →