Một bản sửa lỗi đang được đưa vào nhân Linux 6.4 dòng chính và cũng được đánh dấu để chuyển ngược sang chuỗi nhân ổn định hiện có để sửa lỗi báo cáo cấu trúc liên kết x86 cho các hệ thống Intel Hybrid. Lỗi cấu trúc liên kết trong nhân trở nên rõ ràng hơn đối với máy tính xách tay Meteor Lake, nơi hiện tại các máy tính xách tay thử nghiệm nội bộ của Intel có thể báo cáo hệ thống có 11 ổ cắm CPU thay vì số lượng lõi phù hợp, tất cả đều có trong một ổ cắm CPU.

Mặc dù các thiết kế CPU lai của Intel đã phổ biến từ cuối năm 2021, nhưng nhân Linux cho đến thời điểm này vẫn chưa xử lý đúng cách biến”smp_num_siblings”. Biến”smp_num_siblings”này lại được lan truyền đến không gian người dùng và cuối cùng có thể báo cáo thông tin không chính xác. Trong trường hợp nền tảng Intel Meteor Lake P sắp ra mắt, nhân Linux cho đến thời điểm này với lệnh lscpu phổ biến sẽ báo cáo rằng có 11 ổ cắm CPU cho hệ thống, mỗi ổ cắm có một lõi. Trên thực tế, đó là một máy tính xách tay có ổ cắm đơn có tổng cộng 16 lõi.

Bên cạnh việc thông tin sai được truyền đến không gian người dùng vì mục đích cung cấp thông tin, việc xử lý smp_num_siblings không đúng cách này cuối cùng có thể gây ảnh hưởng đến các quyết định của bộ lập lịch nhân Linux. Như kỹ sư Zhang Rui của Intel đã nhận xét,”Điều này cũng được cho là sẽ khiến bộ lập lịch cũng làm những việc khá khó khăn.”

Anh ấy giải thích thêm về bản vá:

“Theo truyền thống , tất cả các CPU trong một hệ thống đều có số lượng anh chị em SMT giống hệt nhau. Điều đó thay đổi với các bộ xử lý lai trong đó một số CPU logic có anh chị em và những CPU khác thì không.

Ngày nay, mã khởi động CPU đặt biến toàn cầu smp_num_siblings khi mọi luồng CPU được đưa vào up. Chuỗi khởi động cuối cùng sẽ ghi đè lên nó bằng số anh chị em của chuỗi *đó*. Chuỗi khởi động cuối cùng đó sẽ”thắng”. Nếu chuỗi là Pcore, smp_num_siblings==2. Nếu là Ecore, smp_num_siblings==1.

smp_num_siblings mô tả liệu *system* có hỗ trợ SMT hay không. Nó phải chỉ định số lượng luồng SMT tối đa trong số tất cả các lõi.

Đảm bảo rằng smp_num_siblings đại diện cho số lượng tối đa trên toàn hệ thống số anh chị em bằng cách luôn tăng giá trị của nó. Không bao giờ cho phép nó giảm.

Trên nền tảng MeteorLake-P, điều này khắc phục sự cố CPU Ecore không được cập nhật trong bất kỳ bản đồ anh chị em cpu nào vì hệ thống được coi là hệ thống UP khi thăm dò CPU Ecore.”

blockquote>
Bản vá đó đã được chọn vào ngày hôm qua bởi nhánh x86/khẩn cấp của TIP. Đổi lại, bản vá này sẽ được gửi tới nhân Linux 6.4 có thể là vào cuối tuần như một bản sửa lỗi khẩn cấp. Bản vá này cũng được đánh dấu để chuyển ngược sang Linux hiện có các phiên bản kernel ổn định để đảm bảo số lượng anh chị em SMP được báo cáo chính xác trên các nền tảng lai của Intel.

Categories: IT Info