[focal:linux][PATCH 0/1] LP:#1756311 -

Colin Ian King colin.king at canonical.com
Thu Apr 8 11:46:18 UTC 2021


On 08/04/2021 12:42, Marcelo Henrique Cerri wrote:
> On Thu, Apr 08, 2021 at 01:07:54AM +0100, Colin Ian King wrote:
>> On 08/04/2021 00:50, Marcelo Henrique Cerri wrote:
>>> BugLink: https://bugs.launchpad.net/bugs/1756311
>>
>> Is thus the correct buglink?
>>
>>>
>>>
>>> [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
>>
>> Some of those stress tests will have a lot of jitter and random
>> variance. Running tests multiple times for longer durations is best, so
>> I've actually got some performance tests already for this kind of
>> testing...  the autotest-client-tests that may be better to run are:
>>
>> ubuntu_performance_stress_ng
>> ubuntu_performance_stream
>> ubuntu_performance_latency
>> ubuntu_performance_misc
>>
>> I can't see the test data but since these changes affect a range of
>> architectures were the tests run on all the architectures affected by
>> the config changes?
> 
> Hi, Colin.
> 
> Since it needs to be run on bare metal I only ran them for amd64. I
> will check if I can prepare a test kernel on a PPA and maybe run it
> through out regression tests.
> 
> I'm assuming those autotest tests take care of running stress-ng
> multiple times and report the performance results. Is that right?

Yes, multiple times and it computes the min/max/avg/stddev. too :-) It
takes a while to complete because of the re-running and length of the
test runs

Colin

> 
>>
>>>
>>> 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-upgrade.timer,
>>> fstrim.timer, logrotate.timer, motd-news.timer, man-db.timer.
>>>
>>> The results didn't show any performance regression:
>>>
>>> https://kernel.ubuntu.com/~mhcerri/lp1919154/
>>
>> I can't read the data - I don't have read permsssion.
> 
> You should be able to access the data via the browser. Let me know if
> you can't.
> 
>>>
>>>
>>> [Where problems could occur]
>>>
>>> Performance degradation might happen for workloads with intensive
>>> context switching.
>>>
>>>
>>> ---
>>> Marcelo Henrique Cerri (1):
>>>   UBUNTU: [Config] CONFIG_NO_HZ_FULL=y
>>>
>>>  debian.master/config/amd64/config.common.amd64  |  1 +
>>>  debian.master/config/annotations                | 17 +++++++++--------
>>>  debian.master/config/arm64/config.common.arm64  |  1 +
>>>  debian.master/config/armhf/config.common.armhf  |  1 +
>>>  debian.master/config/config.common.ubuntu       |  9 ++++++---
>>>  debian.master/config/i386/config.common.i386    |  1 +
>>>  .../config/ppc64el/config.common.ppc64el        |  2 +-
>>>  debian.master/config/s390x/config.common.s390x  |  2 +-
>>>  8 files changed, 21 insertions(+), 13 deletions(-)
>>>
>>
>>
>> -- 
>> kernel-team mailing list
>> kernel-team at lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/kernel-team
> 




More information about the kernel-team mailing list