
Sau hai tháng phát triển, Linus Torvalds giới thiệu phát hành hạt nhân Linux 7.1Trong số những thay đổi đáng chú ý nhất: trình điều khiển ntfsplus mới, giai đoạn đầu tiên của việc ngừng hỗ trợ CPU i486, loại bỏ các bộ điều hợp Ethernet cũ, loại bỏ các giao thức ISDN và AX.25, kích hoạt cơ chế Intel FRED theo mặc định, hỗ trợ trình xử lý BPF trong io_uring, tối ưu hóa hệ thống con hoán đổi, hỗ trợ bộ lập lịch con trong sched_ext, I/O không sao chép trong trình điều khiển ublk, thao tác ioctl tắt máy trong Btrfs, chuyển đổi chế độ hiệu năng động trong trình điều khiển amd-pstate và hỗ trợ xattr cho socket Unix.
Phiên bản mới bao gồm 17275 bản sửa lỗi từ 2589 nhà phát triển, kích thước bản vá là 57 MB (các thay đổi ảnh hưởng đến 13528 tệp, 751785 dòng mã đã được thêm vào, 405916 dòng đã bị xóa). Bản phát hành cuối cùng có 15624 bản sửa lỗi từ 2477 nhà phát triển, kích thước bản vá là 56 MB. Khoảng 41% tất cả các thay đổi được giới thiệu trong 7.1 có liên quan đến trình điều khiển thiết bị, khoảng 12% thay đổi có liên quan đến việc cập nhật mã dành riêng cho kiến trúc phần cứng, 14% liên quan đến ngăn xếp mạng, 5% liên quan đến hệ thống tệp và 3% có liên quan đến các hệ thống con kernel bên trong.
Các tính năng mới quan trọng trong nhân hệ điều hành 7.1 (kernelnewbies.org, lwn.net, mạng mở):
Hệ thống con đĩa, I/O và hệ thống tệp
- Được chấp nhận vào đội hình triển khai mới Hệ thống tệp NTFS—ntfsplus, dựa trên mã của trình điều khiển NTFS cổ điển, vốn đã bị loại bỏ khỏi nhân hệ điều hành. Trình điều khiển cũ đã được thiết kế lại, mở rộng khả năng ghi dữ liệu và được điều chỉnh để hỗ trợ các tính năng hiện đại, chẳng hạn như việc sử dụng... những trang giấy của ký ức (folios) thay vì cấu trúc buffer_head. Trình điều khiển mới triển khai phân bổ khối lười biếng, cho phép hiệu suất ghi cao và giảm phân mảnh. Thư viện này được sử dụng cho các hoạt động đọc/ghi có bộ đệm, I/O trực tiếp, ánh xạ phạm vi và các hoạt động đọc/ghi theo trang. bản đồ iomapTrong các bài kiểm tra iozone, trình điều khiển ntfsplus nhanh hơn ntfs3 từ 3-5% khi ghi ở chế độ đơn luồng và nhanh hơn từ 35-110% khi sử dụng 4 luồng. Tốc độ đọc của ntfsplus và ntfs3 xấp xỉ nhau. Trình điều khiển ntfs3 vẫn được giữ lại trong nhân hệ điều hành và được tích hợp sẵn. giới thiệu Sửa lỗi và cải tiến nhỏ.
- Đã thêm hỗ trợ cho việc tạo và xác minh dữ liệu kiểm tra tính toàn vẹn. T10 (deepwiki.com) ở cấp độ hệ thống tập tin thay vì cấp độ thiết bị khối, điều này cho phép cải thiện hiệu suất của các thao tác đọc.
- Trong trình điều khiển thiết bị khối ublkĐiều này cho phép chuyển các logic cụ thể sang phía tiến trình không gian người dùng. thêm Hỗ trợ I/O thông qua bộ nhớ dùng chung mà không cần sao chép dữ liệu giữa các bộ đệm (chế độ không sao chép).
- Dành cho các thiết bị khối tự mã hóa SED-OPAL thêm ioctl để điều khiển chế độ Một người dùng và lệnh STACK_RESET đã được triển khai.
- Btrfs đã thông báo hỗ trợ ổn định cho thao tác ioctl shutdown, cho phép hệ thống tệp chuyển sang trạng thái mà trong đó cố gắng hoàn thành các thao tác đang chạy, nhưng tất cả các thao tác mới đều bị chặn.
- exfat triển khai khả năng dành riêng các vùng trống bằng cách gọi hàm fallocate().
- Hệ thống tệp CIFS hiện hỗ trợ tạo các tệp tạm thời bằng cờ O_TMPFILE.
- Trong cuộc gọi hệ thống fsmount() Tùy chọn FSMOUNT_NAMESPACE đã được thêm vào, tạo ra một không gian tên điểm gắn kết mới cho hệ thống tệp được gắn kết. Các cờ đã được thêm vào các lệnh gọi hệ thống clone3() và unshare() để trả về một không gian tên điểm gắn kết mới chỉ chứa một stub hệ thống tệp trống, được gắn kết, dựa trên nullfs và trình điều khiển fs-dax với giao diện hệ thống tệp cho các thiết bị DAX (Truy cập Trực tiếp).
- Đến máy chủ NFS thêm Việc bảo vệ chống lại các cuộc tấn công vét cạn vào các mô tả tệp được thực hiện bằng cách chứng nhận các mô tả bằng chữ ký mật mã. Chức năng bảo vệ này được kích hoạt thông qua tùy chọn gắn kết sign_fh.
- Thêm Trình điều khiển ký tự fs-dax, cung cấp giao diện để tương tác với các thiết bị. DAX (kernel.org) (Truy cập trực tiếp), hỗ trợ bỏ qua bộ nhớ đệm trang. Giao diện này cần thiết cho việc tích hợp vào nhân hệ thống tệp. gia đình, nằm trong RAM.
- Trong hệ thống tệp Ceph thực hiện Tập hợp các chỉ số đầu vào/đầu ra được liên kết với các tiểu mục.
Dịch vụ bộ nhớ và hệ thống
- Đã được chấp nhận Loạt thay đổi đầu tiên nhằm loại bỏ hỗ trợ cho bộ xử lý i486. Các tùy chọn để biên dịch nhân hệ điều hành với hỗ trợ cho bộ xử lý 486DX, 486SX và AMD ELAN (CONFIG_M486, CONFIG_M486SX và CONFIG_MELAN) đã bị loại bỏ khỏi Kconfig, và các tùy chọn biên dịch cho hệ thống i486 (-march=i486) đã bị loại bỏ khỏi Makefile. Mã thực tế để hỗ trợ bộ xử lý i486 vẫn còn trong nhân hệ điều hành, nhưng việc biên dịch cho các hệ thống như vậy giờ đây sẽ yêu cầu các bản vá cho makefile. Lý do loại bỏ hỗ trợ cho bộ xử lý i486 là do mong muốn loại bỏ khỏi nhân hệ điều hành các đoạn mã phức tạp mô phỏng một số thao tác phần cứng, chẳng hạn như CX8 (so sánh và trao đổi 8 byte) và TSC (bộ đếm chu kỳ CPU được sử dụng trong bộ lập lịch tác vụ).
- Trong trình điều khiển amd-pstate, được sử dụng để quản lý nguồn điện trên các hệ thống có bộ xử lý AMD, thực hiện Tự động chuyển đổi các thiết lập hiệu năng và thay đổi hành vi quản lý nguồn điện tùy thuộc vào việc thiết bị đang hoạt động bằng nguồn điện hay pin. Khi được kết nối với nguồn điện, chế độ hiệu năng sẽ được kích hoạt, trong khi chế độ cân bằng hiệu năng được kích hoạt khi chạy bằng pin.
- Cơ chế này được kích hoạt theo mặc định. Intel FRED (Giao nhận và xử lý sự kiện linh hoạt), giúp cải thiện hiệu quả và độ tin cậy của việc xử lý sự kiện cấp thấp. Hiệu suất được cải thiện và độ trễ giảm xuống bằng cách trả về các sự kiện bằng lệnh xử lý IRET thay vì truyền chúng qua Bảng mô tả ngắt (IDT). Độ tin cậy được cải thiện bằng cách tách biệt quá trình xử lý nhận sự kiện trong ngữ cảnh nhân và người dùng, bảo vệ chống lại việc thực thi NMI lồng nhau và lưu trữ tất cả các thanh ghi CPU liên quan đến ngoại lệ trong một khung ngăn xếp mở rộng.
- Trong hệ thống con perf thêm Hỗ trợ các đơn vị giám sát hiệu năng bộ nhớ (PMU) được sử dụng trong SoC NVIDIA Tegra410.
- Các thao tác Futex trên hệ thống ARM đã được tăng tốc nhờ tận dụng các lệnh LSUI của Arm 9.6, cho phép nhân hệ điều hành truy cập bộ nhớ không gian người dùng mà không cần tắt chế độ bảo mật trước. PAN (arm.com) (Không bao giờ có quyền truy cập đặc quyền).
- Việc hỗ trợ cho Kiến trúc mở rộng tập lệnh (Instruction Set Architecture Extension) đã được cải thiện trên các hệ thống dựa trên ARM. MPAM (Phân vùng và giám sát tài nguyên hệ thống bộ nhớ) và bổ sung khả năng sử dụng nó trong không gian người dùng để quản lý tài nguyên thông qua cơ chế này. resctrlMPAM gắn thẻ cho mỗi lần truy cập bộ nhớ bằng một Mã định danh phân vùng (PARTID) và một Mã định danh nhóm giám sát (PMG). Sử dụng PARTID, bạn có thể giới hạn mức tiêu thụ tài nguyên, chẳng hạn như băng thông bộ nhớ hoặc kích thước bộ nhớ đệm, để ngăn một nhóm tác vụ duy nhất tiêu thụ hết tất cả tài nguyên. Trong bối cảnh giám sát, sự kết hợp của PMG và PARTID có thể được sử dụng để theo dõi mức tiêu thụ bộ nhớ trong các khối lượng công việc cụ thể.
- Thêm Khả năng sử dụng chế độ thời gian thực (PREEMPT_RT) trên bộ xử lý ARM 32-bit. Trước đây, hỗ trợ PREEMPT_RT được cung cấp cho các kiến trúc x86 và x86-64, ARM64, RISC-V và LoongArch.
- Trong cuộc gọi hệ thống clone3() Đã thêm cờ mới: CLONE_NNP — cấm cấp quyền mới cho tiến trình được tạo; CLONE_AUTOREAP — tự động chấm dứt tiến trình thay vì biến nó thành tiến trình zombie cho đến khi tiến trình cha thực thi hàm wait(); CLONE_PIDFD_AUTOKILL — chấm dứt tiến trình con nếu tay cầm pidfd liên kết với nó bị đóng (ví dụ: khi tiến trình cha chấm dứt).
- Đối với mỗi mô-đun hạt nhân, một tệp có tên import_ns đã được thêm vào thư mục /sys/module, chứa danh sách các không gian tên ký hiệu được nhập khẩu (không gian tên ký hiệu).
- Hệ thống I/O bất đồng bộ io_uring hiện hỗ trợ sử dụng hệ thống con BPF để tạo các trình xử lý. Ví dụ, vòng lặp điều phối chính có thể được thay thế bằng một chương trình BPF.
- Trong hệ thống con BPF hiện đại hóa Phân tích việc sử dụng ngăn xếp đã giúp tăng tốc đáng kể quá trình xác minh nhiều chương trình BPF bởi trình xác minh.
- Để tối ưu hóa hiệu suất viết lại Hệ thống con hrtimer (bộ đếm thời gian độ phân giải cao). Trình lập lịch tác vụ giờ đây có thể sử dụng bộ đếm thời gian độ phân giải cao mà không làm giảm hiệu suất, thay vì các bộ đếm thời gian kém chính xác hơn.
- Tiếp theo Chuyển các thay đổi từ nhánh Rust-for-LinuxLiên quan đến việc sử dụng ngôn ngữ Rust như một ngôn ngữ thứ hai để phát triển trình điều khiển và mô-đun hạt nhân (hỗ trợ Rust không được kích hoạt theo mặc định và không dẫn đến việc Rust được đưa vào danh sách các phụ thuộc xây dựng bắt buộc cho hạt nhân). Cho đến phiên bản 1.85 (được phát hành trong Debian 13) Tăng yêu cầu đối với phiên bản Rust cần thiết để xây dựng các thành phần kernel. Thêm tùy chọn Kconfig thử nghiệm CONFIG_RUST_INLINE_HELPERS để nội tuyến các phép nội suy C vào mã Rust trong quá trình biên dịch (tối ưu hóa này đã cải thiện hiệu suất trình điều khiển khối null lên 2%). Thêm macro 'const_assert!'. Mở rộng khả năng của các mô-đun sizes, clk, ptr, sync và error.
- Vào cơ chế SCHED_EXTĐiều này cho phép sử dụng BPF để tạo bộ lập lịch CPU. thêm Khả năng ban đầu là tạo các bộ lập lịch phụ, cho phép mỗi cgroup có bộ lập lịch tác vụ riêng.
- Việc tối ưu hóa hệ thống con hoán đổi vẫn đang tiếp tục. Cấu trúc swap_map cũ đã bị loại bỏ và thay thế bằng "Bảng trao đổi"Sự thay đổi này đã cải thiện hiệu suất và giảm mức tiêu thụ bộ nhớ trong hệ thống con phân trang."
- Đến hệ thống con DAMON (Trình giám sát truy cập dữ liệu), cho phép bạn theo dõi việc một tiến trình truy cập dữ liệu trong RAM (ví dụ: bạn có thể tìm ra những vùng bộ nhớ nào tiến trình đã truy cập và những vùng bộ nhớ nào vẫn chưa được sử dụng), thêm hỗ trợ nhiều thuật toán tự động điều chỉnh Hạn ngạch.
- Trong hệ thống theo dõi thực hiện Khái niệm về bộ đệm vòng ngoài, cho phép truy xuất dữ liệu theo dõi từ các máy ảo. Tính năng này được sử dụng trong KVM và nVHE Để chuyển dữ liệu theo dõi từ hệ thống khách sang hệ thống chủ.
- Đến hệ thống con RV (kernel.org) (Xác minh trong quá trình hoạt động), được thiết kế để kiểm tra hoạt động chính xác của các hệ thống có độ tin cậy cao, các thành phần giám sát đã được thêm vào.gian hàng"để theo dõi các tác vụ bị tạm dừng hoặc bị chặn, và "thời hạn» để phân tích hoạt động của bộ lập lịch tác vụ.
Ảo hóa và bảo mật
- Theo mặc định, cờ PROC_MEM_FORCE_PTRACE được thiết lập, cho phép bỏ qua quyền truy cập vào bộ nhớ tiến trình thông qua một tệp. /proc/PID/mem Chỉ áp dụng cho các tiến trình sử dụng lệnh gọi hệ thống ptrace() để gỡ lỗi.
- Thêm bộ hook mới cho các mô-đun LSM (Linux Mô-đun bảo mật), giúp đơn giản hóa việc triển khai các chính sách cho các hệ thống tệp dựa trên ngăn xếp như overlayfs. LSM cũng thêm Móc nối để kiểm soát quyền truy cập vào các socket Unix, mà có liên quan trong mô-đun Landlock LSM để gán chính sách truy cập cho các socket Unix.
- Trong thư viện mã hóa tích hợp sẵn thư viện/mật mãNó cung cấp các chức năng đơn giản và nhanh hơn so với API mã hóa truyền thống. thêm Đã bổ sung hỗ trợ cho các thuật toán AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH và SM3. документация bởi lib/crypto.
- Chế độ này đã được triển khai pKVM (KVM được bảo vệ) để cách ly nghiêm ngặt ký ức vô danh Sử dụng các phần mở rộng ảo hóa cho kiến trúc AArch64. Ở chế độ này, các trang bộ nhớ của hệ điều hành khách được loại trừ khỏi bảng địa chỉ ảo của hệ thống máy chủ.
- Đã bổ sung hỗ trợ cho trình ảo hóa KVM. phiên bản thứ năm Bộ điều khiển ngắt chung ảo ARM phiên bản 5 (VGICv5).
Hệ thống con mạng
- Đối với các socket Unix được tạo bởi hàm socket(), thực hiện Hỗ trợ các thuộc tính tệp mở rộng (xattr) user.*. Ứng dụng bao gồm thiết lập các dấu hiệu thông qua các thuộc tính mở rộng trên các socket Unix được sử dụng cho IPC Varlink, cho phép phân biệt chúng với môi trường IPC chung bằng cách sử dụng các chương trình BPF để kiểm tra và gỡ lỗi các hoạt động IPC. Trong systemd-journald, các thuộc tính mở rộng được dùng để xác định định dạng nhật ký cho socket /dev/log.
- Đã xóa hỗ trợ giao thức UDP-Lite (RFC 3828Giao thức này cho phép truyền tải các gói dữ liệu với tổng kiểm tra không chính xác, với kỳ vọng rằng, ví dụ, dữ liệu âm thanh và video bị hư hỏng một phần có thể được khôi phục ở cấp độ codec. Giao thức này đã bị loại bỏ vì không ai sử dụng nó nữa.
- LOẠI BỎ Khả năng xây dựng ngăn xếp IPv6 như một mô-đun hạt nhân, điều mà trên thực tế không được sử dụng (IPv6 hoặc được tích hợp vào hạt nhân hoặc bị vô hiệu hóa hoàn toàn), nhưng lại làm phức tạp việc bảo trì vì khi xây dựng IPv6 như một mô-đun hạt nhân (CONFIG_IPV6=m), nhiều hệ thống con buộc phải thêm các trình xử lý không cần thiết trong trường hợp mô-đun IPv6 bị gỡ bỏ.
Оборудование
- Trong trình điều khiển AMDGPU Bật nó lên Bộ xử lý đồ họa (DC) mới dành cho APU dòng AMD HD 7000 (Sea Islands, GCN 1.1).
- Trong trình điều khiển Nouveau thêm Hỗ trợ ban đầu cho GPU NVIDIA GA100 dựa trên kiến trúc vi xử lý Ampere.
- Việc phát triển trình điều khiển Xe DRM (Direct Rendering Manager) cho GPU dựa trên kiến trúc Intel Xe, được sử dụng trong các card đồ họa dòng Intel Arc và đồ họa tích hợp, bắt đầu từ bộ xử lý Tiger Lake, vẫn đang tiếp tục. Đã bổ sung hỗ trợ cho hệ thống đồ họa của bộ xử lý Intel Nova Lake-P. Tính năng Purgeable Buffer Objects đã được triển khai.
- Chúng tôi tiếp tục tích hợp các thành phần trình điều khiển Nova cho GPU NVIDIA được trang bị firmware GSP được sử dụng từ dòng NVIDIA GeForce RTX 2000 dựa trên kiến trúc vi xử lý Turing. Trình điều khiển được viết bằng ngôn ngữ Rust. Hỗ trợ ban đầu cho các GPU dựa trên kiến trúc vi xử lý Turing đã được thêm vào.
- Thêm Trình điều khiển DRM corebootdrm để xuất đồ họa thông qua bộ đệm khung hình của phần mềm nhúng dựa trên CoreBoot.
- Thêm Hỗ trợ các ASoC sau: AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP và WM8962. Cải thiện hỗ trợ cho các thiết bị âm thanh USB: Tai nghe Huawei, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu và Scarlett 18i20.
- Thêm Trình điều khiển Yogafan dùng để theo dõi tốc độ quạt trên các máy tính xách tay Lenovo Yoga, Legion và IdeaPad.
- Thêm Hỗ trợ các bo mạch, SoC và thiết bị ARM: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 và ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
- Đã xóa Hỗ trợ cho các bộ điều khiển AHCI SATA và PCIe được sử dụng trong SoC Baikal-T1, cũng như các trình điều khiển cho bộ định thời, bộ nhớ, physmap, bus, hwmon, dwc và bt1-rom. Lý do loại bỏ là do thiếu hỗ trợ và tích hợp chưa hoàn chỉnh các thành phần nền tảng Baikal vào lõi, vì việc sản xuất tại Nga đã ngừng vào tháng 11 năm 2025.
- Loại bỏ 12 trình điều khiển cho các thiết bị Ethernet có giao diện ISA và PCMCIA, được phát hành trước năm 2002, mà không tìm thấy người dùng nào sử dụng chúng trong các hệ thống sản xuất. Hệ thống con ISDNcác triển khai giao thức AX.25, CAIF và trình điều khiển Bluetooth CMTP (Giao thức truyền tải thông điệp giao diện lập trình ứng dụng ISDN chung), yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Vô tuyến nghiệp dư), nhập khẩu và logibm (busmouse). Lý do loại bỏ là do thiếu người bảo trì tích cực trong bối cảnh số lượng lỗi được phát hiện bởi syzbot và các công cụ AI ngày càng tăng. Không ai đảm nhận nhiệm vụ sửa chữa chúng, và toàn bộ gánh nặng khắc phục các vấn đề nghiêm trọng đổ dồn lên những người bảo trì các hệ thống con mạng cốt lõi của nhân hệ điều hành. Tổng cộng, hơn 140 dòng mã đã bị loại bỏ.
Nguồn: linux.org.ru
