Ghi chú phát hành của kernel

Trang này tóm tắt các tính năng chính trong mỗi bản phát hành hạt nhân và cung cấp các đường liên kết đến thông tin bổ sung.

Các tính năng mới của Kernel 6.12

Phần này giải thích các tính năng mới trong kernel 6.12.

Phân tích hoạt động phân bổ bộ nhớ

Để hiểu được mức sử dụng bộ nhớ, bạn cần biết vị trí phân bổ. Kernel 6.12 bao gồm một hệ thống phân bổ bộ nhớ mới có tên là phân tích tài nguyên phân bổ bộ nhớ (CONFIG_MEM_ALLOC_PROFILING trong cấu hình). Với tính năng phân tích tài nguyên phân bổ bộ nhớ, mỗi lượt phân bổ được phân bổ cho một dòng nguồn duy nhất để có thể nhanh chóng xác định các vấn đề về lượt phân bổ. Ngoài ra, tính năng phân tích hoạt động phân bổ bộ nhớ:

  • Được sử dụng trong giai đoạn kỹ thuật, nhưng có trong hình ảnh GKI tiêu chuẩn.

  • Có thể bật bằng cách sử dụng tham số khởi động sysctl.vm.mem_profiling.

  • Hoạt động cả trong nhân và mô-đun đã tải.

io_uring nhanh hơn với tính năng đọc không sao chép và nhiều lần

Trong kernel 6.12, các mô-đun statsdlogd sử dụng sendfile không sao chép, cải thiện hiệu suất của các mô-đun này.

Ngoài ra, phiên bản hạt nhân này triển khai tính năng đọc nhiều lần, trong đó một thao tác đọc duy nhất có thể truy xuất nhiều phần dữ liệu cùng một lúc, giúp cải thiện hiệu suất.

Cải thiện khả năng và tính năng hỗ trợ Bộ lọc gói Berkeley (BPF)

Trong kernel 6.12, chuỗi công cụ BPF đã được di chuyển để hỗ trợ CO-RE và một số tính năng hiện đại. Ngoài ra, trình tải BPF mới cho phép sử dụng BPF hiện đại cho các chương trình thuộc AOSP.

Thực thi proxy

Việc thực thi proxy cho phép trình lập lịch biểu mượn chu kỳ CPU từ các quy trình có mức độ ưu tiên cao để khôi phục các khoá do các quy trình có mức độ ưu tiên thấp hơn giữ. Tính năng này giúp giảm thiểu các vấn đề về đảo ngược mức độ ưu tiên.

Các tính năng mới của Kernel 6.6

Phần này giải thích các tính năng mới trong kernel 6.6.

Hỗ trợ Rust

Nhiều dự án nhân 6.6 sử dụng Rust.

Khoá theo vùng bộ nhớ ảo (VMA)

Kernel 6.6 sử dụng khoá cho mỗi vùng bộ nhớ ảo để giải quyết các vấn đề về tranh chấp với mmap_sem (trước đây gọi là mmap_lock). Do đó, các ứng dụng sử dụng nhiều luồng có thể thấy thời gian khởi chạy giảm tới 20%.

Trình lập lịch biểu Earliest Eligible Virtual Deadline First (EEVDF) (Hạn chót ảo đủ điều kiện sớm nhất) thay thế CFS

EEVDF thay thế Trình lập lịch biểu hoàn toàn công bằng (CFS) để cân bằng tốt hơn quyền truy cập vào CPU giữa các tác vụ ngắn và dài hạn.

Giảm mức tiêu thụ điện năng từ các lệnh gọi lại cập nhật bản sao đọc (RCU)

Tuỳ chọn RCU_LAZY sử dụng phương thức gộp lệnh gọi lại RCU dựa trên bộ hẹn giờ để tiết kiệm pin. Đối với hệ thống có tải nhẹ hoặc ở trạng thái rảnh, tuỳ chọn này có thể làm giảm mức tiêu thụ điện năng từ 5% đến 10%.

Nén bộ nhớ ZRAM hiệu quả hơn

Chế độ cài đặt bản dựng CONFIG_ZRAM_MULTI_COMP mới cho phép ZRAM nén lại các trang bằng một trong ba thuật toán thay thế. Quá trình nén lại này sẽ rút gọn thêm bộ nhớ đã nén, cung cấp thêm dung lượng trống cho các tác vụ đang hoạt động.

Các tính năng mới của Kernel 6.1

Phần này giải thích về các tính năng mới trong kernel 6.1.

Bảo mật nhanh hơn nhờ tính năng tính toàn vẹn của luồng kiểm soát hạt nhân (KCFI)

KCFI thay thế tính toàn vẹn của luồng điều khiển (CFI), giúp giảm chi phí thời gian chạy và không có chi phí thời gian xây dựng. Việc giảm chi phí thời gian chạy cho phép bật KCFI ở nhiều vị trí hơn so với CFI, đáng chú ý là các điểm theo dõi và trình bổ trợ của nhà cung cấp.

Ngoài KCFI, kernel 6.1 còn giới thiệu nhiều tính năng bảo mật, chẳng hạn như kiểm tra giới hạn memcpy nghiêm ngặt và giảm thiểu các cuộc tấn công dự đoán dòng thẳng.

Để biết thêm thông tin về KCFI, hãy xem phần Tính toàn vẹn của luồng điều khiển hạt nhân.

LRU nhiều thế hệ (MGLRU)

MGLRU đã được thêm vào kernel 6.1 để cải thiện khả năng quản lý bộ nhớ bằng cách xác định chính xác hơn những trang nào đang thực sự được sử dụng. Điểm cải tiến này giúp giảm nhu cầu dừng ứng dụng khi hệ thống bị thiếu bộ nhớ. Bản cập nhật này cũng cải thiện trải nghiệm người dùng vì khả năng phản hồi tổng thể của thiết bị tốt hơn.

Việc triển khai MGLRU cũng bao gồm việc hỗ trợ cây maple mới an toàn với RCU. Trong một số trường hợp, bạn có thể dùng cây này để thay thế cây màu đỏ-đen (rbtree). Khi được sử dụng, cây maple an toàn cho RCU sẽ tăng hiệu suất do có kích thước nhỏ hơn và không bị khoá.

Để biết thêm thông tin về MGLRU, hãy xem phần LRU nhiều thế hệ.

Lập lịch

Việc duy trì và cập nhật trình lập lịch biểu là một khía cạnh quan trọng trong quá trình cải thiện nhân hệ điều hành. Các bản cập nhật hạt nhân trong phiên bản 6.1 bao gồm:

  • Thêm tính năng lập lịch có thể nhận biết cụm, giúp tăng hiệu suất bằng cách di chuyển sang các nhân có chung bộ nhớ đệm L2.
  • Xoá phương pháp phỏng đoán về khoảng chênh lệch năng lượng không cần thiết. Bằng cách giới hạn một số hoạt động di chuyển, bản cập nhật này giúp cải thiện mức sử dụng năng lượng lên đến 5%.
  • Cải thiện tính năng cân bằng tải để giảm độ trễ khi đánh thức.
  • Di chuyển thời gian gia hạn ưu tiên của RCU sang một kthread theo thời gian thực. Bản cập nhật này đã giảm đáng kể các giá trị ngoại lai về độ trễ liên quan đến RCU.

Đồ hoạ

Kernel 6.1 chứa các phương thức mới cho dma-buf để xuất và nhập các tệp đồng bộ hoá, phù hợp với nhu cầu về API Video Vulcan.

Phương thức futex_waitv() mới đơn giản hoá việc chuyển trò chơi từ các nền tảng khác bằng cách chờ nhiều futex cùng lúc.

Công cụ gỡ lỗi

Sử dụng Kernel Concurrency SANitizer (KCSAN) trong các bản gỡ lỗi để xác định các cuộc đua trong mã hạt nhân.

Ngoài ra, hãy sử dụng Kernel Memory SANitizer (KMSAN) để tìm các giá trị chưa khởi tạo trong hạt nhân.

Cải tiến tính năng hỗ trợ ARM64

Hạt nhân 6.1 mang đến nhiều điểm cải tiến cho cấu trúc ARM64, bao gồm:

  • Hỗ trợ các tiện ích bộ hẹn giờ ARMv8.6
  • Hỗ trợ thuật toán xác thực con trỏ QARMA3
  • Hỗ trợ ban đầu cho Tiện ích ma trận có thể mở rộng (SME) ARMv9
  • Cải tiến tính năng vá tính năng thay thế, giúp giảm kích thước hình ảnh hạt nhân