Enable CONFIG_NO_HZ_FULL on supported architectures
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
gerald.yang | ||
Focal |
Won't Fix
|
Undecided
|
Unassigned | ||
Groovy |
Won't Fix
|
Undecided
|
Unassigned | ||
Hirsute |
Won't Fix
|
Undecided
|
Marcelo Cerri | ||
Jammy |
Won't Fix
|
Undecided
|
gerald.yang | ||
Lunar |
Won't Fix
|
Undecided
|
gerald.yang | ||
Mantic |
Won't Fix
|
Undecided
|
gerald.yang | ||
linux-lowlatency (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Won't Fix
|
Undecided
|
Unassigned | ||
Groovy |
Won't Fix
|
Undecided
|
Unassigned | ||
Hirsute |
Won't Fix
|
Undecided
|
Unassigned | ||
Jammy |
Won't Fix
|
Undecided
|
Unassigned | ||
Lunar |
Won't Fix
|
Undecided
|
Unassigned | ||
Mantic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
The CONFIG_NO_HZ_FULL=y Kconfig option causes the kernel to avoid
sending scheduling-clock interrupts to CPUs with a single runnable task,
and such CPUs are said to be "adaptive-ticks CPUs". This is important
for applications with aggressive real-time response constraints because
it allows them to improve their worst-case response times by the maximum
duration of a scheduling-clock interrupt. It is also important for
computationally intensive short-iteration workloads: If any CPU is
delayed during a given iteration, all the other CPUs will be forced to
wait idle while the delayed CPU finishes. Thus, the delay is multiplied
by one less than the number of CPUs. In these situations, there is
again strong motivation to avoid sending scheduling-clock interrupts.
[Test Plan]
In order to verify the change will not cause performance issues in context switch we should compare the results for:
./stress-ng --seq 0 --metrics-brief -t 15
Running on a dedicated machine and with the following services disabled: smartd.service, iscsid.service, apport.service, cron.service, anacron.timer, apt-daily.timer, apt-daily-
The results didn't show any performance regression:
https:/
[Where problems could occur]
Performance degradation might happen for workloads with intensive context switching.
description: | updated |
Changed in linux (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in linux (Ubuntu Lunar): | |
status: | New → In Progress |
Changed in linux (Ubuntu Jammy): | |
assignee: | nobody → gerald.yang (gerald-yang-tw) |
Changed in linux (Ubuntu Lunar): | |
assignee: | nobody → gerald.yang (gerald-yang-tw) |
Changed in linux (Ubuntu Mantic): | |
assignee: | Marcelo Cerri (mhcerri) → gerald.yang (gerald-yang-tw) |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Won't Fix |
Changed in linux (Ubuntu Hirsute): | |
status: | In Progress → Won't Fix |
Changed in linux (Ubuntu Jammy): | |
status: | In Progress → Won't Fix |
Changed in linux (Ubuntu Lunar): | |
status: | In Progress → Won't Fix |
Changed in linux (Ubuntu Mantic): | |
status: | In Progress → Won't Fix |
Changed in linux-lowlatency (Ubuntu): | |
status: | New → Fix Released |
Changed in linux-lowlatency (Ubuntu Mantic): | |
status: | New → Fix Released |
Changed in linux-lowlatency (Ubuntu Lunar): | |
status: | New → Won't Fix |
Changed in linux-lowlatency (Ubuntu Jammy): | |
status: | New → Won't Fix |
Changed in linux-lowlatency (Ubuntu Hirsute): | |
status: | New → Won't Fix |
Changed in linux-lowlatency (Ubuntu Groovy): | |
status: | New → Won't Fix |
Changed in linux-lowlatency (Ubuntu Focal): | |
status: | New → Won't Fix |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
Results: https:/ /kernel. ubuntu. com/~mhcerri/ lp1919154/