리누스 토르발스(Linus Torvalds)가 인텔 Xe GPU 드라이버에서 발생한 고질적인 버그를 해결하는 과정에서 인공지능(AI)의 도움을 받아 화제가 되고 있습니다. 이 버그는 인텔 배틀메이지(Battlemage) G21 시스템에서 검은 화면과 gdm 재시작 루프를 유발했는데, 압축 하드웨어용 플랫 CCS(Compressed Cache Storage) 저장 공간 일부가 VRAM으로 잘못 할당되면서 발생한 문제였습니다.
문제의 근원은 `get_flat_ccs_offset()` 함수가 CCS 시작 주소를 128KiB 단위로 올림(round_up) 처리하면서 실제 경계와 계산값 사이의 메모리까지 VRAM으로 노출시킨 것이었습니다. 특히 16GiB 배틀메이지 G21 시스템에서는 마지막 2KiB가 VRAM 할당 풀에 포함되었고, 이곳에 놓인 메사(Mesa) VM의 레벨 3 페이지 테이블이 압축 메타데이터에 덮어쓰여 손상되었습니다. 이로 인해 콜드 부팅 시마다 문제가 발생했으며, 최종 수정은 `round_up()`을 `round_down()`으로 변경하는 한 줄에 불과했지만, 원인을 좁히는 데 24개의 디버그 패치와 18번의 커널 부팅이 필요했습니다. 이 과정에서 AI는 여러 차례 해결 불가능하다고 판단했음에도 불구하고, 토르발스의 지시에 따라 디버그 코드 추가와 분석을 이어갔으며, 최종 커밋 메시지까지 작성했습니다.
이번 사례는 AI가 단순한 코드 생성 도구를 넘어, 복잡하고 반복적인 디버깅 과정에서 인간 개발자를 보조하고 생산성을 높일 수 있음을 보여줍니다. 비록 AI가 중간에 포기하려는 모습을 보였지만, 전문가의 지시 아래 끈질기게 분석을 이어가며 문제 해결에 기여했다는 점은 주목할 만합니다. 이는 AI가 소프트웨어 개발 생태계에서 점차 더 중요한 역할을 수행하게 될 것임을 시사하며, 특히 추적하기 어려운 버그를 해결하는 데 있어 새로운 가능성을 열어줄 것으로 기대됩니다. 다만, AI가 작성한 커밋 메시지의 품질이나 그 활용 방식에 대한 논의는 계속될 것으로 보입니다.