KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 5 as of 2022-03-13 11:27:10
KernelNewbies:
  • Linux_5.17

Linux 5.17 changelog

Summary:

Contents

  1. Prominent features
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Tracing, perf and BPF

1. Prominent features

== ==

2. Core (various)

  • fscache, cachefiles: Rewrite, significantly simplifying the code compared to what's upstream, removing the complex operation scheduling and object state machine in favour of something much smaller and simpler commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • devtmpfs: default mount with noexec and nosuid commit

  • fuse,virtiofs: support per-file DAX commit, commit, commit, commit, commit, commit, commit

  • irq: [PCI]MSI refactoring which aims to provide the ability of expanding MSI-X vectors after enabling MSI-X commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • RCU
    • Tasks updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • RCU no-CB CPUs updates, most notably the ability to offload CPUs that are in de-offloaded state at boot time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Remove CONFIG_RCU_FAST_NO_HZ support commit, commit, commit, commit

  • Task scheduler
    • Adds accounting for "forced idle" time, which is time where a cookie'd task forces its SMT sibling to idle, despite the presence of runnable tasks commit

    • delayacct: support swapin delay accounting for swapping without blkio commit

    • delayacct: track delays from memory compact commit

  • cgroup
    • cpuacct: Include guest time in user time in cpuacct.stat commit

    • cpuacct: Make user/system times in cpuacct.stat more precise commit

  • signals: requeuing undeliverable signals commit, commit, commit

  • topology: only export used sysfs attributes commit, commit, commit

  • io_uring
    • Allow to skip CQE posting commit, commit, commit, commit

    • Task work optimization commit, commit, commit, commit, commit

    • Reworkg io_uring's poll and internal poll commit, commit, commit, commit, commit, commit, commit

  • vfs: Extend the mapping infrastructure in order to support mapped mounts of mapped filesystems in the future commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • fanotify: Add FAN_RENAME event to report extra info records about new and old parent+name details. This new event was designed as a replacement for the "inotify way" of joining the MOVED_FROM/MOVED_TO events using a cookie commit, commit, commit, commit, commit, commit, commit, commit, commit

  • module: add in-kernel support for decompressing for security purposes commit

  • Build: introduce debug.config for CI-like setup commit

3. File systems

  • BTRFS
    • Speedup directory logging/fsync by copying index keys only. This reduces the amount of logged metadata by about half, and therefore the time spent logging or fsyncing large directories commit, commit

    • Enable adding of a device when balance is paused (i.e an fs is mounted with skip_balance options) commit, commit, commit

    • Allow defrag to be interruptible commit

    • Index free space entries on size commit, commit, commit

    • Make send work with concurrent block group relocation commit

    • btrfs: remove reada infrastructure commit

  • CEPH
    • New mount device syntax commit, commit, commit, commit, commit

    • Mount syntax module parameter commit

    • Add new "nopagecache" option commit

  • CIFS
    • Port to the new fscache I/O commit, commit, commit, commit, commit

    • smb3: send NTLMSSP version information commit

  • XFS
    • Support large folios commit

    • Kill dead ioctls commit, commit, commit

  • EXT4
    • Convert to new mount API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Remove lazytime/nolazytime mount options handled by MS_LAZYTIME commit

    • Implement support for get/set fs label commit

  • DLM
    • Add debugfs rawmsg send functionality commit

    • Add lkb debugfs functionality commit

  • EROFS
    • Support tail-packing inline compressed data commit, commit, commit, commit, commit

    • Add sysfs interface commit

    • Add sysfs node to control sync decompression strategy commit

  • F2FS
    • Add gc_urgent_high_remaining sysfs node commit

    • Show number of pending discard commands commit

    • Use iomap for Direct I/O commit, commit

    • Support POSIX_FADV_DONTNEED drop compressed page cache commit

  • FUSE
    • fuse,virtiofs: support per-file DAX commit, commit, commit, commit, commit, commit, commit

    • Send file/inode security context during creation commit

    • Extend init flags to avoid running out of flags commit

  • KSMBD
    • Add support for key exchange commit

    • Set 445 port to smbdirect port by default commit

    • Add smb-direct shutdown commit

    • Add support for smb2 max credit parameter commit

    • Add reserved room in ipc request/response commit

  • NFS
    • NFSv4.1+ support for session trunking discovery commit, commit, commit, commit, commit, commit, commit

    • NFSv4: Add some support for case insensitive filesystems commit

  • UBIFS
    • Export filesystem error counters commit

4. Memory management

  • Batch of memory folio patches commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Segregate a struct slab from struct page commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Extend vmalloc support for constrained allocations commit, commit, commit, commit

  • Support for anonymous VMA naming. It adds a field to /proc/pid/maps and /proc/pid/smaps to show a userspace-provided name for anonymous vmas. The names of named anonymous vmas are shown as [anon:<name>]. Userspace can set the name for a region of memory by calling prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name); commit, commit, commit

  • cgroup
    • memcg: add oom_group_kill memory event when memory.oom.group triggers to allow userspace to cleanly identify when an entire cgroup is oom killed commit * memcg: add per-memcg vmalloc stat commit

    • memcg: better bounds on the memcg stats updates commit

    • hugetlb: add hugetlb.*.numa_stat file commit

  • kcsan: Support detecting a subset of missing memory barriers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • damon
    • schemes: Extend stats for better online analysis and tuning commit, commit, commit, commit, commit, commit

    • Add access checking for hugetlb pages commit

  • Adds set_mempolicy_home_node syscall to set a home node for the MPOL_BIND and MPOL_PREFERRED_MANY memory policy. Users should use this syscall after setting up a memory policy for the specified range. The syscall allows specifying a home node/preferred node from which kernel will fulfill memory allocation requests first. This helps applications to hint at a memory allocation preference node and fallback to _only_ a set of nodes if the memory is not available on the preferred node. Fallback allocation is attempted from the node which is nearest to the preferred node commit, commit, commit

  • device-dax: Introduce compound pages in devmap in order to minimize 'struct page' overhead commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • sysctl: change watermark_scale_factor max limit to 30% commit

  • vmstat: add events for THP max_ptes_* commit

  • Introduce PAGE_TABLE_CHECK debug option to check user page table entries at the time they are added and removed, in order to catch memory corruption issues related to double mapping commit, commit, commit, commit

  • Improve the migration stats commit, commit, commit

  • Migration: support multiple target nodes demotion commit

5. Block layer

  • Memory folio support in block + iomap layers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • md: drop queue limitation for RAID1 and RAID10 commit

  • Remove the rsxx driver commit

6. Tracing, perf and BPF

  • Add rtla(1) tool, a meta-tool including a set of commands that aims to analyze the real-time properties of Linux. But instead of testing Linux as a black box, rtla leverages kernel tracing capabilities to provide precise information about the properties and root causes of unexpected results. In this release it presents an interface to the osnoise and timerlat tracers. In the future, it will also serve as home to the rtsl and other latency/noise tracers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • tracing: 'rel_loc' relative dynamic array attribute support commit, commit, commit, commit, commit

  • BPF: Introduce composable bpf types commit, commit, commit, commit, commit, commit, commit, commit, commit

  • BPF CO-RE (COmpile once - Run Everywhere) support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • perf evlist: Allow setting arbitrary leader commit, commit

  • tracing: Add ustring operation to filtering string pointers commit

  • BPF: adds unstable conntrack lookup helpers using BPF kfunc support
  • BPF: Sleepable local storage commit

  • bpf: Add helpers to access traced function arguments commit, commit, commit, commit, commit

  • BPF: Support BTF_KIND_TYPE_TAG for btf_type_tag attributes. The main motivation for btf_type_tag is to bring kernel annotations user, rcu etc. to btf. With such information

available in btf, bpf verifier can detect mis-usages and reject the program. For example, for user tagged pointer, developers can then use proper helper like bpf_probe_read_kernel() etc. to read the data commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • BPF: Add bpf_loop helper. One of the complexities of using for loops in bpf programs is that the verifier needs to ensure that in every possibility of the loop logic, the loop will always terminate. As such, there is a limit on how many iterations the loop can do. The bpf_loop helper moves the loop logic into the kernel and can thereby guarantee that the loop will always terminate. The bpf_loop helper simplifies a lot of the complexity the verifier needs to check, as well as removes the constraint on the number of loops able to be run commit, commit, commit, commit

  • perf: Support event alias in form foo-bar-baz commit, commit, commit

  • perf stat: Support --cputype option for hybrid events commit

  • perf ftrace: Implement function latency histogram commit, commit, commit, commit, commit

  • libbpf: Deprecate bpf_prog_load_xattr() API commit, commit, commit, commit, commit, commit, commit, commit, commit

  • libbpf: Enhance and rework logging controls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • libbpf: Add runtime APIs to query libbpf version commit

  • Revamp and fix libbpf's feature-probing APIs commit, commit, commit

  • libbpf: Use probe_name for legacy kprobe commit, commit

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01