Linux kernel 7.3 đã chính thức được Linus Torvalds phát hành vào ngày 18 tháng 10 năm 2026. Bản phát hành mang đến hàng loạt thay đổi ở nhiều hệ thống con cốt lõi, từ lập lịch tác vụ, cô lập hệ thống tệp, quản lý bộ nhớ GPU cho đến I/O lưu trữ.

Về lập lịch, bản phát hành hoàn tất hỗ trợ cho các bộ lập lịch con lồng nhau sched_ext và cải thiện phân bổ trọng số CPU giữa các phân cấp cgroup. Về bảo mật, failfs cùng lời gọi hệ thống mới fchroot(2) đưa ra một cách tiếp cận khác cho việc cô lập hệ thống tệp.

Bản phát hành cũng cải thiện quản lý VRAM khi bộ nhớ bị áp lực, thêm theo dõi working-set cho bộ nhớ máy ảo và tăng tốc nhiều thao tác hệ thống tệp.

Song song với các thay đổi kỹ thuật, Linux 7.3 lập kỷ lục mới về số lượng nhà phát triển tham gia và hoạt động commit. Việc ngày càng dùng các công cụ hỗ trợ AI cũng tiếp tục ảnh hưởng đến cách lập trình viên tìm và gửi bản vá lỗi.

Dưới đây là những điểm nổi bật nhất trong bản 7.3 cuối cùng.

1. Hoạt động phát triển và vai trò ngày càng lớn của AI

Linux Kernel 7.3 nhận được 18,765 commit không gộp (non-merge) từ 3,021 nhà phát triển, trong đó có 807 người đóng góp lần đầu. Những con số này lập kỷ lục mới cho dự án phát triển kernel.

Bản phát hành cũng phản ánh sự thay đổi trong cách lập trình viên tìm và sửa lỗi. Các công cụ tự động và mô hình ngôn ngữ lớn (LLM) ngày càng tham gia vào việc rà soát mã, phân tích nhánh lỗi và vá lỗi thường quy.

Torvalds mô tả mức gia tăng các bản vá nhỏ này là "bình thường mới của AI". Xu hướng không chỉ giới hạn ở bản vá do AI tạo ra; việc rà soát có hỗ trợ AI cũng có thể phát hiện các vấn đề mà sau đó lập trình viên sửa thủ công.

Mức hoạt động tăng này mang lại cả lợi ích lẫn thách thức.

Các công cụ tự động có thể giúp tìm ra những trường hợp biên bị bỏ sót và đề xuất bản vá trên một mã nguồn khổng lồ. Tuy nhiên, mọi bản vá vẫn cần được rà soát và kiểm tra cẩn thận. Số lượng bản vá nhiều hơn không tự động đồng nghĩa với mã tốt hơn, và các maintainer vẫn phải tiếp tục đánh giá thay đổi dựa trên tính đúng đắn và giá trị của chúng.

Vì vậy, khối lượng bản vá nhỏ ngày càng tăng là một phần quan trọng của câu chuyện phát triển Linux 7.3, bên cạnh những thay đổi kiến trúc lớn trong bản phát hành.

2. Kernel cốt lõi và lập lịch tác vụ

Hoàn tất các bộ lập lịch con sched_ext

Linux 7.3 hoàn tất hỗ trợ cho bộ lập lịch con lồng nhau trong sched_ext. Một bộ lập lịch BPF gốc có thể giao toàn bộ cây con cgroup cho các bộ lập lịch con và cấp cho chúng quyền truy cập CPU mà sau này có thể thu hồi.

Bộ lập lịch cha truyền các năng lực theo-CPU cho từng con, bao gồm quyền kiểm soát việc đưa tasks vào hàng đợi, preemption và quản lý tần số CPU. Nhờ đó, mỗi bộ lập lịch con có thể tự quản lý các tasks được giao thay vì phải dựa vào bộ cha cho mọi quyết định lập lịch.

Kernel cũng thêm một đường cứu hộ cho các tasks bị mắc kẹt khi bộ lập lịch của chúng mất quyền truy cập vào CPU cần thiết. Thay vì để các tasks này treo cho đến khi watchdog đẩy bộ lập lịch ra, kernel sẽ chạy chúng trong một ngân sách băng thông CPU giới hạn. Cơ chế này tạo một phương án dự phòng có kiểm soát khi bộ lập lịch con không còn tiến triển được.

Tổng hợp lại, những thay đổi này cho các bộ lập lịch BPF theo cgroup nhiều quyền kiểm soát hơn, đồng thời cung cấp cơ chế phục hồi khi lập lịch thất bại.

Co giãn trọng số cgroup với cgroup_mode

Trên các hệ thống đa bộ xử lý lớn, việc phân bổ thời gian CPU qua các phân cấp cgroup sâu có thể gây overhead lập lịch và làm sai lệch phân bổ tài nguyên. Linux 7.3 thêm thiết lập cgroup_mode để điều khiển cách kernel phân phối trọng số CPU.

Thiết lập này hỗ trợ bốn chế độ: up, max, concur và tasks. Mặc định là concur, nhằm mang lại phân bổ trọng số chính xác hơn trên các phân cấp phức tạp, dù độ chính xác này có thể đi kèm chi phí tính toán cao hơn.

Bản phát hành còn chuyển lập lịch cgroup sang một hàng đợi chạy duy nhất. Điều này đơn giản hóa một phần đường lập lịch và giúp giảm overhead cũng như độ trễ. Những thay đổi này nhắm đến các hệ thống mà lập lịch phân cấp có thể trở thành điểm nghẽn.

Cô lập trạng thái hệ thống tệp của kernel thread và PID 1

Linux 7.3 thay đổi cách kernel khởi tạo trạng thái hệ thống tệp cho kernel thread và tiến trình init.

Trước đây, PID 1 và các kernel thread có thể dùng chung một fs_struct. Điều đó có nghĩa là các thao tác hệ thống tệp thay đổi root của tiến trình hoặc trạng thái liên quan cũng có thể ảnh hưởng đến kernel thread.

Bản phát hành cấp cho PID 1 một fs_struct riêng và đặt các kernel thread trong một mount nullfs cô lập. Điều này tách trạng thái hệ thống tệp của chúng khỏi tiến trình user-space và tránh việc chia sẻ ngoài ý muốn các tham chiếu mount namespace.

3. Sandboxing và kiểm soát thực thi

Pseudofilesystem failfs và fchroot(2)

Linux 7.3 giới thiệu failfs, một pseudofilesystem từ chối các thao tác không được hỗ trợ bằng EOPNOTSUPP. Khác với nullfs — vốn hành xử như thể tệp không tồn tại và trả về ENOENT cho các đường dẫn thiếu — failfs tạo ranh giới chặt chẽ hơn cho truy cập hệ thống tệp.

Bản phát hành cũng giới thiệu fchroot(2), một phương án thay thế cho chroot(2) dựa trên file descriptor. Một ứng dụng có thể mở các file descriptor thư mục cần thiết trước khi vào môi trường bị giới hạn, rồi dùng fchroot() với cờ FD_FAILFS_ROOT để chuyển root của mình vào failfs.

Sau khi tiến trình vào môi trường này, việc tra cứu đường dẫn tuyệt đối và phân giải symlink tuyệt đối sẽ thất bại. Ứng dụng phải dùng các file descriptor thư mục tường minh để truy cập phần hệ thống tệp mà nó cần.

Cách tiếp cận này giảm sự phụ thuộc vào trạng thái hệ thống tệp xung quanh và tránh tình trạng re-resolution cạnh tranh (race) của cách đổi root truyền thống dựa trên đường dẫn. Nó là nền tảng hữu ích cho các ứng dụng cần cô lập hệ thống tệp nghiêm ngặt mà không chỉ dựa vào chroot().

Lựa chọn nhị phân bằng BPF trong binfmt_misc

Linux 7.3 mở rộng binfmt_misc với các hook BPF cho việc khớp nhị phân và thực thi interpreter.

Các quy tắc binfmt_misc truyền thống dựa vào phần mở rộng tệp hoặc các mẫu byte cố định để nhận diện định dạng thực thi. Với hỗ trợ BPF, chương trình có thể kiểm tra nhị phân khi tiến trình gọi exec() và ra quyết định về việc chọn interpreter và thực thi. Kernel cũng có thể thực hiện thay thế loader PT_INTERP để ghi đè dynamic loader mà nhị phân chỉ định.

Điều này cho các bản phân phối như NixOS thêm linh hoạt khi định vị interpreter và dynamic loader. Nó cũng giúp xây dựng môi trường nhị phân có thể di chuyển (relocatable) mà không cần wrapper script hay chỉnh sửa patchelf cho từng tệp thực thi.

4. Bộ nhớ đồ họa và theo dõi máy ảo

Bảo vệ VRAM dưới áp lực bộ nhớ

Khi nhiều ứng dụng tranh chấp VRAM hữu hạn, GPU có thể dời buffer sang RAM hệ thống qua bảng dịch đồ họa (GTT). Điều này làm giảm hiệu năng, đặc biệt khi một ứng dụng cần bộ nhớ GPU được bảo vệ nhưng không lấy đủ.

Linux 7.3 giải quyết vấn đề này bằng cách tích hợp device-memory cgroup (dmemcg) với bộ quản lý bộ nhớ DRM TTM.

Dưới áp lực VRAM, kernel có thể đẩy các buffer không được bảo vệ ra trước khi thu hồi bộ nhớ dành cho workload được bảo vệ. Điều này giúp ứng dụng tận dụng tốt hơn mức bảo vệ bộ nhớ được gán và giảm việc buffer bị chuyển qua lại liên tục giữa VRAM và RAM hệ thống.

Thay đổi này đặc biệt hữu ích trên GPU tầm thấp, nơi bộ nhớ hạn chế và các workload tranh chấp có thể gây khung hình bất ổn. Nó cũng giúp các workload LLM cục bộ, kể cả llama.cpp, tránh mất hiệu năng không cần thiết khi chia sẻ bộ nhớ GPU với ứng dụng khác.

Theo dõi bộ nhớ guest với userfaultfd

Các trình giám sát máy ảo (VMM) cần biết phần nào của bộ nhớ guest đang được dùng tích cực trước khi chuyển các trang ít truy cập sang lưu trữ chậm hơn hoặc từ xa.

Linux 7.3 thêm cờ UFFDIO_REGISTER_MODE_RWP cho userfaultfd(2). Nó cho phép theo dõi bảo vệ đọc-ghi trên các vùng bộ nhớ đã đăng ký, nhờ đó VMM xác định được working-set hoạt động của guest.

Cơ chế này phục vụ mục đích tương tự việc theo dõi truy cập bộ nhớ bằng mprotect(PROT_NONE) kèm signal handler, nhưng tránh được overhead xử lý tín hiệu của cách đó. VMM có thể dùng thông tin này để nhận diện bộ nhớ "lạnh" và chuyển nó sang lưu trữ phân tầng hoặc từ xa.

Điều này mang lại cho các trình quản lý bộ nhớ máy ảo một cách hiệu quả hơn để theo dõi việc dùng bộ nhớ guest và quản lý vị trí bộ nhớ.

5. Cải thiện lưu trữ và hệ thống tệp

Linux 7.3 cải thiện hiệu năng I/O và thêm khả năng mới trên Btrfs, ext4, thiết bị khối, FUSE, SMB và NTFS3.

Btrfs Direct I/O và hiệu năng fsync

Btrfs thay đổi đường Direct I/O sang dùng iomap bounce buffer thay vì fallback sang buffered I/O trong các trường hợp bị ảnh hưởng. Hành vi cũ giới hạn throughput xuống khoảng 50% mức maximum lý thuyết của phần cứng. Cách triển khai mới nâng lên khoảng 95%, gần như gấp đôi throughput trong workload được báo cáo.

Bản phát hành cũng loại bỏ một độ trễ dài một jiffy không cần thiết khỏi đường ghi log dùng cho lưu trữ không phải SSD. Thay đổi này cải thiện throughput fsync khoảng 5 lần trong workload đo được.

Một tối ưu khác bỏ qua bước dò hole không cần thiết trong các thao tác fsync đầy đủ trên tệp không có hole, giảm thời gian hoàn tất ghi log cho tệp có nhiều extent.

Những thay đổi này nhắm vào các điểm nghẽn cụ thể trong đường I/O và ghi log của Btrfs chứ không thay đổi giao diện cơ bản của hệ thống tệp.

Ghi song song trên ext4

Ext4 cải thiện ghi Direct I/O song song bằng cách cho nhiều thao tác hơn tiến hành trong khi giữ khóa i_rwsem ở chế độ shared.

Bản phát hành cũng cải thiện preallocation khối qua fallocate(). Kernel tránh công việc không cần thiết trong đường ext4_mb_prefetch(), giảm chi phí preallocation khi công việc đó không cần thiết.

Những thay đổi này giúp giảm overhead khóa và cải thiện hiệu năng với các workload phát sinh thao tác ghi concurrent hoặc cấp phát vùng tệp lớn.

RWF_DONTCACHE cho thiết bị khối

Linux 7.3 thêm hỗ trợ RWF_DONTCACHE cho I/O trên thiết bị khối thô. Cờ này cho phép một yêu cầu I/O đơn lẻ không làm ô nhiễm page cache.

Điều này cho ứng dụng nhiều quyền kiểm soát hơn đối với hành vi cache mà không buộc phải dùng Direct I/O cho mọi thao tác. Cờ này hữu ích cho workload truy cập lượng lớn dữ liệu một lần và không hưởng lợi từ việc giữ dữ liệu đó trong page cache.

FUSE zero-copy với io_uring

FUSE cho phép hệ thống tệp chạy ở user space, nhưng việc di chuyển dữ liệu giữa kernel và FUSE server có thể gây overhead.

Linux 7.3 cải thiện đường này bằng cách cho phép FUSE server chia sẻ trực tiếp buffer pool với kernel và dùng io_uring để truyền dữ liệu. Điều này giảm các bản sao dữ liệu không cần thiết và có thể tăng throughput cho các hệ thống tệp user-space xử lý lượng I/O lớn.

Cập nhật ksmbd và NTFS3

Máy chủ SMB trong kernel, ksmbd, bổ sung hỗ trợ phần mở rộng Apple Time Machine, mã hóa SMB3 theo từng share và mã hóa cho SMB Direct qua RDMA.

Các bổ sung này cải thiện tương thích với quy trình sao lưu của Apple và cung cấp thêm lựa chọn bảo mật cho SMB share và truyền dữ liệu qua RDMA.

Driver ntfs3 cũng thêm hỗ trợ gốc cho NTFS Alternate Data Streams (ADS). Ứng dụng có thể truy cập các stream có tên gắn với tệp, chẳng hạn file:stream, thay vì coi mọi tệp như một stream dữ liệu duy nhất không tên.

Nên dùng thử Linux Kernel 7.3 ngay không?

Nếu bạn chạy Linux trên desktop, workstation hay server, lợi ích phụ thuộc vào workload của bạn.

Ứng dụng nặng GPU có thể hưởng lợi từ việc quản lý VRAM tốt hơn, workload nặng lưu trữ có thể thấy I/O nhanh hơn, còn lập trình viên làm việc với bộ lập lịch tùy chỉnh hay môi trường cô lập thì có thêm khả năng mới.

Với đa số người dùng, cách tốt nhất là nâng cấp thông qua các gói kernel được phân phối hỗ trợ và kiểm tra các thay đổi liên quan đến workload của mình trước khi triển khai lên môi trường production.

Tóm tắt và điểm chính

Linux kernel 7.3 giải quyết nhiều vấn đề thực tế trong lập lịch, bảo mật, quản lý bộ nhớ và lưu trữ. Các bộ lập lịch sched_ext lồng nhau có thêm quyền kiểm soát phân bổ CPU, failfs và fchroot(2) đưa ra cách tiếp cận mới cho cô lập hệ thống tệp, và thay đổi eviction VRAM giúp bảo vệ các GPU workload quan trọng dưới áp lực bộ nhớ.

Bản phát hành cũng cải thiện theo dõi bộ nhớ guest, tăng tốc các đường I/O Btrfs và ext4, và thêm khả năng cho FUSE, ksmbd và ntfs3.

Quy trình phát triển cũng đang thay đổi. Số đóng góp kỷ lục và việc ngày càng dùng công cụ hỗ trợ AI cho thấy việc bảo trì kernel đang tiến hóa. Thách thức vẫn như cũ: đưa các thay đổi hữu ích vào kernel mà không đánh đổi tính đúng đắn, hiệu năng hay khả năng bảo trì.

Để biết thêm chi tiết, xem các tóm tắt merge window của LWN phần 1 và phần 2, cùng phần phủ sóng của Kernel Newbies về Linux 7.3.