TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Spring АйО

5 Sep, 13:50

Telegram'da ochish Ulashish Shikoyat qilish

👩‍💻 Линус Торвальдс пофиксил баг в ядре Linux при помощи ИИ

После полного выключения и включения компьютера Linux показывал чёрный экран. Графическая оболочка постоянно перезапускалась, хотя сама система продолжала работать. Лечилось перезапуском оболочки.

Фиксом занялся сам Линус Торвальдс. И в помощники он взял себе AI.

Сама причина находилась в драйвере Intel Xe и расчёте границы видеопамяти. Часть VRAM видеокарта резервирует для служебных данных аппаратного сжатия. Драйвер получает адрес, с которого начинается эта закрытая область, и передаёт всю память ниже него обычным приложениям.

Но адрес не всегда совпадал с границей страницы памяти.

Легаси код использовал round_up() – округлял адрес вверх. Из-за этого граница свободной памяти сдвигалась внутрь зарезервированной области.

На компьютере Линуса граница проходила посередине страницы размером 4 КБ: последние 2 КБ уже принадлежали механизму сжатия, но драйвер мог отдать всю страницу приложению.

По итогу видеокарта записывала служебные данные поверх размещённой там таблицы страниц. Графическая оболочка теряла доступ к нужной области памяти и падала.

Исправлением послужила замена round_up() на round_down().

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

Само исправление уместилось всего в одну строку. Но для его поиска потребовались 24 диагностических патча и 18 перезагрузок ядра.

AI по сути занялся основной рутиной. Он добавлял различный диагностический код и анализировал результаты. Правда, несколько раз помощник объявлял проблему нерешаемой и предлагал остановиться на составлении отчёта 😅 . Как говорится, "лень прежде нас родилась".

Но Линус был упрямее и каждый раз заставлял его продолжать.

В конце Торвальдс признал, что AI оказал огромную помощь, и даже разрешил ему написать описание итогового коммита. Какую модель он использовал, Линус не сообщил.

Мораль сей басни такова, что AI не нашёл ошибку одной волшебной командой и не заменил инженера (выдыхаем). Он выполнял механическую работу, пока человек строил гипотезы, проверял результаты и не принимал ответ, якобы это невозможно.

⚡Михаил Поливаха обещал обсудить баг на подкасте более детально. Ждем!

🔗 Источник: коммит в ядре Linux

7.5k 0 56 8 94
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot