LKML News v5.9-rc1

mm: sort freelist by rank number (Cho KyongHo)

LPDDR5 has severan ranks and there are ranks switching delay. Therefore, it would be better to do accesses in same ranks if possible. This patch sorts freelist by the rank number so that near future allocation can be done in same rank.

[RFC-PROTOTYPE 1/1] mm: Add __GFP_FAST_TRY flag (Uladzislau Rezki)

This is the rfc of the patch for the Paul’s last ask. The memory objects to be freed by RCU are stored in the per-cpu array. When the array is full, RCU allocates new block of array and link it after the current one. This strategy is taken over the RCU head linked list to improve locality and thus reduce the cache misses. The allocation should be made under atomic context. However, the memory allocator makes lockdep compain if CONFIG_PROVE_RAW_LOCK_NESTING is on. Also, it doesn’t allow atomic context memory allocation if CONFIG_PREEMPT_RT is on, as it converts spinlock_t into sleepable variant.

To overcome the problem, this patch introduces __GFP_FAST_TRY flag so that the memory allocator can work in the case.

[PATCH v11 0/6] KASAN-KUnit Integration (David Gow)

This patchset makes KUnit to be able to fail tests wen unexpected KASAN error occurs and vice versa.

[PATCH v3 0/6] mm / virtio-mem: support ZONE_MOVABLE (David Hildenbrand)

While virtio-mem allows to online fully plugged memory blocks to ZONE_MOVABLE, it dows not allow to online partially-plugged memory blocks to ZONE_MOVABLE. This commit makes it available.

incoming (Andrew Morton)

Andrew sent a pull request containing 163 patches to Torvalds.

incoming (Andrew Morton)

Another pull request from Andrew to Torvalds. This pull request contains “workingset protection/detection on the anonymous LRU list”, and “proactive compaction”, which also reviewed by this post series.

[patch 18/39] mm/madvise: check fatal signal pending of target process (Andrew Morton)

The madvise_process() series has included in the pull request from Andrew to Linus. It was rejected from v5.8 due to its weird patch sequence regarding its pidfd support. Unfortunately, Torvalds don’t like the signal handling of the patch at this time.

Linux 5.9-rc1 (Linus Torvalds)

The merge window for v5.9 has finished, and the first rc released. It was much normal than v5.8. The most interesting changes in my viewpoint are the anonymous pages workingset detection/protection and the proactive compaction.

Below is the diffstat of the releases in the last two years.

Kernel release stat

Note that the y-axis is in logarithm. I draw it using and using below command:

$ --since 2018-07-20 | ~/lazybox/gnuplot/ \
    --data_fmt table --type labeled-lines --xtics_rotate -90 \
    --font "Times New Roman, 5pt" --ylog --pointsize 0.3

And, below is the diffstat of the -rc1 releases in the last two years.

rc2 release stat

SeongJae Park
Kernel Development Engineer

SeongJae Park is a programmer who loves to analyze and develop systems.