[Feature] Increase percpu counter threshold size
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
intel |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Description
It was noted that the size of the percpu counters used for "node/zone_state" is only 8 bytes:
struct per_cpu_pageset {
struct per_cpu_pages pcp;
s8 stat_threshold;
s8 vm_stat_
};
This code is very old. It effectively requires a pair hot, global cachelines to be touched when the per_cpu counter value does not fit in "vm_stat_diff".
For this item, we need to increase the size of vm_stat_diff[] from an s8 to an s16, then allow the ->stat_threshold to be adjusted between the existing value of 125 and some larger value. Note that the current threshold from calculate_
Target Kernel: 4.14
Target Release: 18.04
Merged in kernel v4.14-rc1. 38bd62f36756d21 9e02913b7d
Commit id:
1d90ca897cb05cf