Free Download: Linux Kernel Version 6.10

Linux refers to the family of Unix-like computer operating systems using the Linux kernel. Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers, routers, and video game consoles, to mainframes and supercomputers. Linux is a leading server operating system and operates the 10 fastest supercomputers in the world.

The development of Linux exemplifies free and open-source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Typically, Linux is packaged in a format known as a Linux distribution for desktop and server use. Some popular mainstream Linux distributions include Debian (and its derivatives such as Ubuntu), Fedora, and openSUSE. Linux distributions include the Linux kernel and supporting utilities and libraries to fulfill the distribution’s intended use.

Download Key

Mainline

The mainline tree is maintained by Linus Torvalds. It’s where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 2-3 months.

Stable

After each mainline kernel release, it is considered “stable.” Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until the next mainline kernel becomes available—unless it is designated a “long-term maintenance kernel.” Stable kernel updates are released on an as-needed basis, usually once a week.

Longterm

Several “long-term maintenance” kernel releases are provided for the purposes of backporting bug fixes for older kernel trees. Only important bug fixes are applied to such kernels, and they don’t usually see very frequent releases, especially for older trees.

What’s New

Core (various)

  • vfs: relax linkat() AT_EMPTY_PATH – aka flink() – requirements
  • Statx: stx_subvol
  • sysrq: Add support to replay kernel log on consoles via sysrq
  • fcntl: To let userspace know whether two file descriptors refer to the same struct file
  • task scheduler
    • fair: allow disabling sched_balance_newidle with sched_relax_domain_level
    • debug: Increase SCHEDSTAT_VERSION to 16
  • io_uring
    • Accept tweaks
    • Propagate back queue status on accept
    • Support to inject result for NOP
    • Implement io_uring notification (ubuf_info) stacking
    • Improve async state handling
    • Send and receive bundles
  • timekeeping: Handle potential multiplication overflow
  • workqueues: implement disable/enable_work() and the delayed_work counterparts to block future executions
  • xarray: inline xas_descend to improve performance
  • tools/nolibc: add support for uname(2)
  • Rust
    • 1.78.0 upgrade
    • time: Add Ktime
    • Arc methods for linked list
    • Allocation APIs
    • Add Module::as_ptr
  • rtla usage improvements
  • rtla: Add –trace-buffer-size option
  • ring-buffer: Have mmapped ring buffer keep track of missed events
  • RCU: Reduce synchronize_rcu() latency
  • NT synchronization primitive driver
  • lib: add version into /proc/allocinfo output
  • kbuild: enable some -Wextra warnings by default
  • IOMMU memory observability
  • Detect interrupt storm in softlockup
  • Fixes and cleanups to fs-writeback
  • modules: jit/text allocator
  • Unified cross-architecture kernel-mode FPU API

File systems

BTRFS

  • Add a shrinker for extent maps
  • Restrain lock extent usage during writeback
  • Compression: migrate to folio interfaces
  • Convert put_file_data() to folios

CEPH

  • Check the cephx mds auth access on the client side

EROFS

  • Zstandard compression support
  • Add a reserved buffer pool for lz4 decompression

EXT4

  • Add support for FS_IOC_GETFSSYSFSPATH

F2FS

  • Assign the write hint per stream by default
  • Support to map continuous holes or preallocated addresses
  • Use folios

FUSE

  • Add initial support for fs-verity

NFS

  • Add atomic_open for NFSv3 to handle O_TRUNC correctly
  • Don’t enable NFS v2 by default
  • Trivial GET_DIR_DELEGATION support
  • Force all NFSv4.2 COPY requests to be synchronous
  • Expand the implementation of OFFLOAD_STATUS
  • Convert write_threads, write_version, and write_ports to netlink commands

OCFS2

  • Improve write IO performance when fragmentation is high

XFS

  • Atomic file content exchanges. Add new XFS_IOC_EXCHANGE_RANGE ioctl to exchange ranges of bytes between two files atomically
  • Add Parent Pointers attributes to each inode. The attribute name contains the parent inode, generation, and directory offset, while the attribute value contains the file name. This feature will enable future optimizations for online scrub, shrink, NFS handles, verity, or any other feature that could make use of quickly deriving an inode’s path from the mount point
  • Scrubbing for parent pointers
  • Online repair for parent pointers
  • RT delalloc support
  • Vectorize scrub kernel calls
  • Create temporary files for online repair
  • Online repair of realtime summaries
  • Online repair of extended attributes
  • Online repair of symbolic links
  • Move orphan files to lost and found
  • Online repair of directories
  • Detect and correct directory tree problems

SMB

  • netfs, cifs: Delegate high-level I/O to netfslib

UDF

OPENPROMFS

  • Finish conversion to the new mount API

ISOFS

  • Convert isofs to use the new mount API

MINIX

  • Convert minix to use the new mount API

FREEVXFS

  • Convert freevxfs to the new mount API

OVERLAYFS

QNX6

  • Convert qnx6 to use the new mount API

TRACEFS/DEBUGFS

  • Convert debugfs & tracefs to the new mount API

NILFS2

  • Convert to use the new mount API

Memory management

  • (FEATURED) Introduce mseal
  • Memory allocation profiling: Low overhead per-callsite memory allocation profiling. Not just for debug kernels; overhead low enough to be deployed in production
  • slub: Reduce memory consumption in extreme scenarios
  • Reduce memory consumption by memcg stats
  • zram: add max_pages param to recompression
  • Swap-out mTHP without splitting
  • Accelerate pagefault when badaccess
  • damon: add a DAMOS filter type for page granularity access recheck
  • page_table_check: support userfault wr-protect entries
  • page_alloc: allow mTHP compaction to capture the freed page directly
  • Add per-order mTHP alloc and swpout counters
  • Transfer page to folio in KSM
  • gup: remove the hugetlb slow gup path after a previous refactor work, so that slow gup now uses the exact same path to process all kinds of memory including hugetlb
  • vmalloc: eliminate the lock contention from twice to once
  • Make the hugetlb migration strategy consistent
  • madvise: enhance lazyfreeing with mTHP in madvise_free
  • Batch mm counter updating in filemap_map_pages()
  • Mapcount for large folios + page_mapcount() cleanups
  • Implement the “init_mlocked_on_free” boot option. When this boot option is enabled, any mlock’ed pages are zeroed on free
  • Support multi-size THP numa balancing
  • filemap: optimize folio adding and splitting
  • zswap: same-filled and limit checking cleanups
  • zswap: replace RB tree with xarray
  • Improved Memory Tier Creation for CPUless NUMA Nodes

Block layer

  • Improve visibility of writeback: 1) /sys/kernel/debug/bdi/xxx/stats show writeback info of whole bdi instead of only writeback info in root cgroup 2) debug file /sys/kernel/debug/bdi/xxx/wb_stats to show per-wb writeback 3) wb_monitor.py script to monitor basic writeback info of running system
  • Support to account io_ticks precisely
  • Zone write plugging
  • NCQ Priority sysfs attributes for libsas
  • Add LIBSAS_SHT_BASE for libsas
  • brd: implement discard support
  • dm-crypt: add the optional “high_priority” flag
  • dm-crypt: export sysfs of all workqueues
  • blk-throttle: support enable and disable during runtime
  • Add a partscan sysfs attribute for disks
  • ufs: exynos: Add support for Tensor gs101 SoC
  • ufs: exynos: Add EXYNOS_UFS_OPT_TIMER_TICK_SELECT option
  • ufs: exynos: Add EXYNOS_UFS_OPT_UFSPR_SECURE option
  • ufs: Remove support for old UFSHCI versions

Architectures

ARM

  • Add the arm64.no32bit_el0 command line option
  • Add USER_STACKTRACE support
  • Speed up boot with faster linear map creation
  • mm: Enable userfaultfd write-protect
  • bpf: Add support for BPF Arena
  • bpf: Add support for lse atomics in bpf_arena
  • KVM: Add NV support for ERET and PAuth
  • Errata: Add workaround for Arm errata 3194386 and 3312417
  • Add a build target for Flat Image Tree
  • mm: swap: support THP_SWAP on hardware with MTE
  • Device Tree Sources
  • allwinner: Add Anbernic RG35XX (Plus/H/2024) support
  • Add support for Airoha EN7581 Soc
  • rockchip: Add Radxa ROCK 3C
  • Add ArmSom Sige7 board
  • allwinner: Add Tanix TX1 support
  • freescale: Add Toradex Colibri iMX8DX
  • Xperia 1 V support
  • Add Support for RK3326 GameForce Chi
  • rockchip: add Forlinx OK3588-C
  • Add Protonic MECSBC board support
  • Add pmic pca9451a support
  • Add support for Emcraft Systems NavQ+ kit
  • NXP S32G3 SoC initial bring-up
  • rockchip: add wolfvision pf5 mainboard
  • Add device tree source for the Au-Zone Maivin AI Vision Starter Kit
  • Basic devicetree support for Amlogic A4 and A5
  • Document ASUS RT-AC3200 and ASUS RT-AC5300 and add device trees
  • qcom: msm8974: Add Samsung Galaxy S5 China support
  • sun5i: Add PocketBook 614 Plus support
  • qcom: Add support for Motorola Moto G (2013)
  • Split sony-castor into shinano-common and add Sony Xperia Z3
  • imx6ull: add Seeed Studio NPi dev board
  • imx: Add UNI-T UTi260B thermal camera board
  • Add device trees for ASrock E3C256D4I & SPC621D8HM3
  • aspeed: x4tf: Add dts for ASUS x4tf project
  • aspeed: Remove Facebook Cloudripper dts
  • Add a device tree for IBM system1 BMC
  • Add Meta(Facebook) Harma BMC(AST2600)
  • aspeed: ASRock: Add ASRock X570D4U BMC
  • Add device trees for ASrock E3C256D4I & SPC621D8HM3
  • Support MediaTek MT8188 Media Data Path 3 (MDP3)
  • Add device tree source for the Au-Zone Maivin AI Vision Starter Kit
  • iommu: Add support for Translation Buffer Units
  • imx8mp: Add support for HDMI
  • Support Neoverse-V2 for Perf Arm SPE
  • Add initial ARM MHUv3 mailbox support
  • meson: add support for MIPI DSI Display
  • Acer Aspire 1 embedded controller
  • Add SoC identification for Renesas RZ/V2H SoC
  • qcom: Add X1E80100 platform and SMB2360 PMIC
  • soc: mediatek: mtk-mutex: Add support for MT8188 VPPSYS
  • SCMI multiple vendor protocol support
  • arm_scmi: Add basic support for SCMI v3.2 pincontrol protocol
  • Add initial ARM MHUv3 mailbox support
  • firmware: arm_ffa: Add support for FFA_MSG_SEND2

POWERPC

  • crash: Kernel handling of CPU and memory hotplug
  • Make fadump resilient with memory add/remove events
  • fadump: pass additional args to dump capture kernel
  • Add dynamic DEXCR support
  • bpf: enable kfunc call
  • dts: add power management nodes to FSL chips

X86

  • Coalesced Interrupt Delivery with posted MSI
  • vdso: Handle potential multiplication overflow
  • purg
Scroll to Top