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 4 as of 2019-10-15 11:13:44
KernelNewbies:
  • Linux_5.4

Linux 5.4 changelog.

1. Memory management

  • memory control group
    • Extend the shrink file to shrink all memcg caches for the slab cache. Before the commit, writing 1 to /sys/kernel/slab/<slab>/shrink was shrinking only the root cache. With SLUB_MEMCG_SYSFS_ON enabled and slub_memcg_sysfs=1 used, it was possible to shrink also memcg caches, but it was impractical. Now all memcg caches will be shrunk when writing to the "global" shrink file. commit

    • Throttle allocators when reclaim cannot keep up with v2 memory.high limit commit

    • Introduce gradual reclaim pressure between v2 memory.low and memory.min thresholds instead of the previous cliff behavior. commit commit commit

    • Improve situation with multiple parallel reclaimers by letting each walk through the whole cgroup tree, resulting in fewer premature OOM kills. commit

    • Deprecate v1 kmem.limit_in_bytes due to causing unexpected ENOMEM failures and global OOM's. commit

    • Prevent premature OOM's due to deferred THP split queue. commit commit commit commit

  • Introduce madvise() flags MADV_COLD, which marks pages as inactive (thus more easily reclaimed under memory pressure), but doesn't discard the contents like MADV_FREE does, and MADV_PAGEOUT, which reclaims pages immediately, but doesn't discard the contents like MADV_DONTNEED does. commit commit commit commit

  • Experientally enable THP support for text section (executable code) of non-shmem files (CONFIG_READ_ONLY_THP_FOR_FS) commit commit commit commit commit commit commit

  • Change the handling of THP page faults so that they are tried first on a local NUMA node with no memory reclaim allowed, and if they not succeed, for madvise(MADV_HUGEPAGE) areas retry on all nodes, allowing reclaim. This should prevent swap storms observed on pre-5.3 kernels with some workloads and also fix the reported regression for a different workload on 5.3 kernel. LWN merge commit commit commit commit commit

  • Make uprobes uprobe THP-aware. Instead of splitting whole THP when installing uprobe, split only the huge PMD, and reinstate it after uprobes are removed. commit commit commit commit commit commit

  • kmemleak: make it more robust during early allocations (before slab subsystem is initialized) by using a single memory pool commit commit commit commit commit commit

  • KASAN: for software tag-based mode, enhance the memory corruption report with a guess whether it is "use-after-free" or "out-of-bound" error instead of "invalid-access" error. commit

  • Introduce page_shift(), page_size() and compound_nr() to make common operations with compound pages simpler and more readable. commit commit commit

  • page_owner: store also the stack of who last freed the page and print it in dump_page() to improve debugging double free or use-after-free, especially when debug_pagealloc or KASAN are also enabled commit commit commit commit commit commit

  • oom: add task UID, oom_score_adj and pgtables to OOM message commit commit

  • Fix minuters or hours long stalls when setting nr_hugepages to too high values. commit commit commit commit

  • Provide a generic top-down mmap layout implementation and use it for riscv. commit commit commit commit commit commit commit commit commit commit commit commit commit commit

  • zswap: let zswap use movable memory with zsmalloc commit commit

  • Guarantee alignment to size for kmalloc() allocations of power-of-two size, regardless of used sla*b allocator and activated debugging functions. LWN commit commit

This changelog is not complete, meanwhile you can read about it here:

  • LWN's merge window part 1, part 2

or, instead, you can take a look at the list of merge requests:

  • pidfd/waitid updates

  • tpm updates

  • EDAC updates

  • RAS updates

  • hwmon updates

  • regmap updates

  • regulator updates

  • spi updates

  • i3c updates

  • GPIO updates

  • iommu updates

  • arm64 updates

  • m68k updates

  • RISC-V updates

  • ia64 updates

  • parisc updates

  • ARM SoC platform updates

  • ARM SoC driver updates

  • ARM SoC defconfig updates

  • ARM DT updates

  • RCU updates

  • EFI updates

  • locking updates

  • perf updates

  • scheduler updates

  • x86 asm updates

  • x86 boot code cleanup

  • x86 build cleanup

  • x86 cpu-feature updates

  • x86 entry updates

  • x86 mm updates

  • x86 platform update

  • x86 hyperv updates

  • x86 vmware updates

  • x86 platform-drivers updates

  • CPU hotplug updates

  • x86 pti updates

  • x86 interrupt updates

  • core irq updates

  • x86 apic updates

  • core timer updates

  • OpenRISC updates

  • s390 updates

  • Xtensa updates

  • asm-generic updates

  • cgroup updates

  • documentation updates

  • io_uring updates

  • libata updates

  • block updates

  • MMC updates

  • sound updates

  • media updates

  • LED updates

  • dmaengine updates

  • power management updates

  • ACPI updates

  • device properties framework updates

  • KVM updates

  • driver core updates

  • USB updates

  • tty/serial driver updates

  • staging and IIO driver updates

  • char/misc driver updates

  • crypto updates

  • networking updates

  • vfs namei updates

  • vfs mount API infrastructure updates

  • file locking updates

  • fscrypt updates

  • fs-verity support

  • AFS updates

  • btrfs updates

  • swap access updates

  • xfs updates

  • y2038 vfs updates

  • misc mount API conversions

  • autofs updates

  • orangefs updates

  • cifs updates

  • configfs updates

  • dma-mapping updates

  • Devicetree updates

  • mailbox updates

  • IPMI updates

  • input updates

  • chrome platform updates

  • pin control updates

  • drm updates

  • Kbuild updates

  • kgdb updates

  • tracing updates

  • powerpc updates

  • VFIO updates

  • clk updates

  • ARM SoC late updates

  • printk updates

  • asm inline support

  • hmm updates

  • RDMA subsystem updates

  • device mapper updates

  • SCSI updates

  • libnvdimm updates

  • MTD updates

  • UML updates

  • UBI, UBIFS and JFFS2 updates

  • ext4 updates

  • ext2, quota, udf fixes and cleanups

  • f2fs updates

  • gfs2 updates

  • MIPS updates

  • ARM updates

  • modules updates

  • soundwire updates

  • remoteproc updates

  • rpmsg updates

  • RTC updates

  • power supply and reset updates

  • selinux updates

  • HID updates

  • smack updates

  • PCI updates

  • backlight updates

  • MFD updates

  • more mount API conversions

  • Hyper-V updates

  • x86 platform-drivers fixes

  • Microblaze updates

  • memory management updates from akpm

  • more block updates

  • more io_uring updates

  • i2c updates

  • iomap updates

  • fuse updates

  • ceph updates

  • more memory management updates from akpm

  • xen update

  • more s390 updates

  • NFS client updates

  • Kselftest updates

  • more perf updates

  • NTB updates

  • watchdog updates

  • thermal management updates

  • more io_uring updates

  • pwm updates

  • more KVM updates

  • more RISC-V updates

  • 9p updates

  • fuse virtio-fs support

  • nfsd updates

  • integrity updates

  • kernel lockdown mode

  • hugepage allocation updates

  • more i2c updates

  • thermal SoC updates

  • libnvdimm updates

  • active entropy generation updates

  • more cifs updates

  • more vfs updates

  • Documentation/process update

  • more MMC updates

  • csky updates

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