Nhân Linux là xương sống của hệ điều hành Linux (OS), và là giao diện cơ bản giữa phần cứng của máy tính và các quy trình của nó.
Gần đây Linus Torvalds tiết lộ bản phát hành hạt nhân Linux mới phiên bản 6.7, được trình bày sau hai tháng phát triển và trong số những thay đổi đáng chú ý nhất là việc tích hợp hệ thống tệp Bcachefs, ngừng hỗ trợ kiến trúc Itanium, khả năng Nouveau hoạt động với phần mềm GSP-R, hỗ trợ mã hóa TLS trong NVMe-TCP, khả năng sử dụng các ngoại lệ trong BPF, cùng những thứ khác.
Phiên bản mới của nhân Linux 6.7 Nó được tạo thành từ 15291 chỉnh sửa và khoảng 45% tất cả các thay đổi được đưa ra có liên quan đến trình điều khiển thiết bị, 14% thay đổi có liên quan đến việc cập nhật mã cụ thể cho kiến trúc phần cứng, 13% liên quan đến ngăn xếp mạng, 5% liên quan đến hệ thống tệp và 3% liên quan đến các hệ thống con hạt nhân bên trong.
Kích thước bản vá là 72 MB (những thay đổi đã ảnh hưởng đến 13.467 tệp, 906.147 dòng mã đã được thêm vào và 341.048 dòng đã bị xóa).
Những điểm mới chính của Linux Kernel 6.7
Tích hợp hệ thống tập tin Bcachefs
Linux 6.7 sử dụng mã hệ thống tệp Bcachefs nhằm cố gắng đạt được hiệu suất, độ tin cậy và khả năng mở rộng của XFS, kết hợp với các thành phần của chức năng nâng cao có trong Btrfs và ZFS.
Bcachefs hỗ trợ các tính năng như bao gồm nhiều thiết bị trên một phân vùng, thiết kế ổ đĩa nhiều lớp (lớp dưới cùng chứa dữ liệu được sử dụng thường xuyên dựa trên ổ SSD nhanh và lớp trên cùng chứa dữ liệu từ các ổ cứng ít được sử dụng hơn), sao chép (RAID 1/10), bộ nhớ đệm, nén dữ liệu trong suốt (chế độ LZ4, gzip và ZSTD), cắt trạng thái, xác minh tính toàn vẹn bằng tổng kiểm tra, khả năng lưu trữ mã sửa lỗi Reed-Solomon (RAID 5/6), lưu trữ thông tin ở dạng mã hóa (sử dụng ChaCha20 và Poly1305) . Về hiệu suất, Bcachefs vượt trội hơn Btrfs và các hệ thống tệp khác dựa trên cơ chế sao chép trên ghi và thể hiện tốc độ hoạt động gần với Ext4 và XFS.
Những cải tiến trong Btrfs
Trên Linux 6.7 Chế độ hạn ngạch đơn giản hóa đã được triển khai cho Btrfs cho phép đạt được hiệu suất tốt hơn bằng cách chỉ theo dõi các tiện ích mở rộng trong phân vùng phụ nơi chúng được tạo. đơn giản hóa đáng kể việc tính toán và cải thiện hiệu suất, nhưng nó không cho phép chia sẻ các tiện ích mở rộng giữa nhiều phân vùng phụ. Ngoài ra, cấu trúc dữ liệu cây sọc mới đã được thêm vào Btrfs, phù hợp để ánh xạ mở rộng logic trong các tình huống mà ánh xạ vật lý không khớp giữa các thiết bị. Cấu trúc này hiện được sử dụng trong triển khai RAID0 và RAID1 cho các thiết bị khối được khoanh vùng.
Ngừng hỗ trợ cho kiến trúc Itanium (ia64)
Các hỗ trợ kiến trúc ia64 được sử dụng trong bộ xử lý Intel Itanium, nó là gìchúng tôi hoàn toàn bị đình chỉ vào năm 2021. Intel giới thiệu bộ xử lý Itanium vào năm 2001, nhưng kiến trúc ia64 không thể cạnh tranh với AMD64, chủ yếu là do hiệu năng cao hơn của AMD64 và quá trình chuyển đổi mượt mà hơn từ bộ xử lý 86-bit x32. Linus Torvalds bày tỏ sẵn sàng hỗ trợ trở lại ia64 vào kernel, nhưng cóchỉ khi có người bảo trì có thể chứng minh chất lượng hỗ trợ cao đối với nền tảng này ngoài kernel chính trong ít nhất một năm.
Di chuyển liên tục các thay đổi từ nhánh Rust-for-Linux
Phiên bản mới chuyển sang sử dụng phiên bản Rust 1.73 và cung cấp một bộ móc để làm việc với hàng đợi công việc.
Những cải tiến trong việc triển khai hàng đợi FIFO
Trong phiên bản Linux 6.7 mới này, thực hiện cơ chế FIFO nhẹ các kết nối đơn chỉ yêu cầu một spinlock để loại bỏ hàng đợi trong bối cảnh quy trình và loại bỏ nó để bổ sung nguyên tử vào hàng đợi trong bất kỳ bối cảnh nào. Ngoài ra, bộ đệm tròn objpool đã được thêm vào bằng cách triển khai hàng đợi hiệu suất cao có thể mở rộng để phân bổ và trả về các đối tượng.
Hỗ trợ mã hóa TLS cho NVMe-TCP
Trên Linux 6.7 trình điều khiển NVMe-TCP (cho phép bạn truy cập ổ NVMe qua mạng), Đã thêm hỗ trợ mã hóa kênh truyền dữ liệu bằng TLS (sử dụng KTLS và quy trình nền) trong không gian người dùng tlshd để đàm phán kết nối.
Cải thiện hiệu suất lập lịch gói
Hiệu suất lập lịch gói fq được tối ưu hóa, điều này giúp tăng hiệu suất lên 5% khi tải nặng trong thử nghiệm tcp_rr (TCP Yêu cầu/Phản hồi) và lên 13% với luồng gói UDP không giới hạn.
Thông qua tùy chọn xác thực TCP
Hỗ trợ đã được thêm vào ngăn xếp TCP cho tiện ích mở rộng TCP-AO cho phép kiểm tra các tiêu đề TCP bằng mã MAC, sử dụng thuật toán HMAC-SHA1 và CMAC-AES-128 hiện đại hơn thay vì tùy chọn TCP-MD5 có sẵn trước đó dựa trên thuật toán Legacy MD5 .
Của những thay đổi khác nổi bật:
- Cài đặt mới đã được thêm vào «cpuset.cpus.exclusive" và "cpuset.cpus.exclusive. Hiệu quả» tới cpuset để liên kết độc quyền với CPU.
- Hệ thống con BPF triển khai hỗ trợ cho các trường hợp ngoại lệ, được xử lý như một lối thoát khẩn cấp khỏi chương trình BPF với khả năng hủy kiểm soát các khung xếp chồng một cách an toàn. Ngoài ra, các chương trình BPF cho phép sử dụng con trỏ kptr kết nối với CPU.
- Đối với kiến trúc ARM32 và S390x, hỗ trợ cho tập lệnh BPF hiện tại (cpuv4) đã được thêm vào.
- Đối với kiến trúc RISC-V, có thể sử dụng chế độ kiểm tra Shadow-Call Stack có sẵn trong Clang 17, được thiết kế để bảo vệ chống ghi đè địa chỉ trả về của một hàm trong trường hợp tràn bộ đệm trên ngăn xếp.
- Chế độ quét trang bộ nhớ thông minh mới đã được thêm vào cơ chế hợp nhất các trang bộ nhớ giống hệt nhau (
- AppArmor đã thêm khả năng kiểm soát quyền truy cập vào cơ chế io_uring và tạo không gian tên người dùng, cho phép bạn chỉ cho phép truy cập vào các khả năng này một cách có chọn lọc đối với một số quy trình nhất định.
- Đã thêm API chứng nhận VM để xác minh tính toàn vẹn của quá trình khởi động VM.
- Hệ thống LoongArch hỗ trợ ảo hóa bằng cách sử dụng bộ ảo hóa KVM.
- Đã thêm hỗ trợ ban đầu cho chương trình cơ sở GSP-RM vào mô-đun hạt nhân Nouveau, được sử dụng trong GPU NVIDIA RTX 20+ để di chuyển các hoạt động khởi tạo và điều khiển từ GPU sang bên cạnh bộ vi điều khiển GSP
cuối cùng nếu bạn là muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.