Kỹ sư NVIDIA bị phá vỡ và sau đó nhanh chóng khắc phục hiệu suất GPU AMD trong Linux
Trong một diễn biến bất ngờ, một kỹ sư của Nvidia đã đưa ra bản sửa lỗi cho kernel Linux, khắc phục sự suy giảm hiệu suất trên phần cứng GPU tích hợp và rời của AMD. Kỹ sư này vô tình đã gây ra vấn đề khi thay đổi kernel tuần trước, nhằm tăng không gian PCI BAR lên trên 10TiB, nhưng lại làm cho GPU bị đánh dấu là hạn chế và ảnh hưởng đến hiệu suất. May mắn thay, vấn đề đã được phát hiện và sửa chữa nhanh chóng.
Trong mô hình mã nguồn mở, có quy tắc ngầm là sửa chữa những gì bạn làm hỏng. Kernel Linux là mã nguồn mở và chấp nhận đóng góp từ mọi người, sau đó sẽ được xem xét. Những người đóng góp có trách nhiệm được kỳ vọng sẽ giúp khắc phục các vấn đề phát sinh từ thay đổi của họ. Do đó, mặc dù có sự cạnh tranh trong thị trường GPU, phần mềm mã nguồn mở (FOSS) là cầu nối giữa AMD và Nvidia.
Lỗi trong kernel xảy ra do một commit nhằm tăng không gian PCI BAR vượt quá 10TiB, có thể cho các hệ thống có bộ nhớ lớn. Điều này đã làm giảm KASLR entropy trên các thiết bị x86 tiêu dùng, ảnh hưởng đến ngẫu nhiên nơi dữ liệu kernel được tải vào bộ nhớ mỗi lần khởi động để bảo mật. Đồng thời, điều này cũng làm tăng giả tạo phạm vi bộ nhớ có thể truy cập của kernel lên tới 64TiB.
Trong Linux, bộ nhớ được chia thành các vùng, trong đó có vùng thiết bị (zone device) có thể liên quan đến GPU. Vấn đề là khi kernel khởi tạo bộ nhớ vùng thiết bị cho GPU Radeon, biến maxpfn đại diện cho RAM khả dụng của kernel sẽ tăng lên 64TiB một cách giả tạo. Vì GPU có thể không truy cập được toàn bộ phạm vi 64TiB, nên nó sẽ đánh dấu dmaaddressinglimited là True.
Biến này giới hạn GPU chỉ sử dụng vùng DMA32, cung cấp 4GB bộ nhớ, dẫn đến giảm hiệu suất. Tin tốt là bản sửa lỗi này sẽ được áp dụng ngay khi yêu cầu được chấp nhận, trước khi cửa sổ hợp nhất Linux 6.15-rc1 đóng lại hôm nay. Với chu kỳ phát hành kernel Linux mới khoảng sáu đến tám tuần, chúng ta có thể mong đợi phiên bản ổn định 6.15 ra mắt vào cuối tháng Năm hoặc đầu tháng Sáu.
Nguồn: www.tomshardware.com/pc-components/gpu-drivers/nvidia-engineer-breaks-and-then-quickly-fixes-amd-gpu-performance-in-linux