public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Norbert <nbrtt01@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Yunfeng Ye <yeyunfeng@huawei.com>
Subject: Re: Performance regression: thread wakeup time (latency) increased up to 3x
Date: Fri, 15 Oct 2021 21:08:58 -0700	[thread overview]
Message-ID: <8691a8ec-410d-afe8-f468-eefe698c6751@gmail.com> (raw)
In-Reply-To: <20211015100401.45833169@gandalf.local.home>

On 10/15/21 07:04, Steven Rostedt wrote:
> On Fri, 15 Oct 2021 02:36:03 -0700
> Norbert <nbrtt01@gmail.com> wrote:
> 
>> On 10/15/21 01:52, Peter Zijlstra wrote:
>>> On Fri, Oct 15, 2021 at 12:43:45AM -0700, Norbert wrote:
>>>> Performance regression: thread wakeup time (latency) increased up to 3x.
>>>>
>>>> Happened between 5.13.8 and 5.14.0. Still happening at least on 5.14.11.
>>>
>>> Could you git-bisect this?
>>>    
>>
>> So far I haven't built a kernel yet, I'm quite new to Linux in that way,
>> so it may take me some time to figure it all out, but yes.
> 
> If you do test a kernel you build yourself, you may want to use
> "localmodconfig". Which will look at all the modules that are loaded on the
> local system and turn off the configs for modules that are not loaded. This
> will save a lot of time compiling the kernel. Especially if your basing off
> of a distro config.
> 
>    $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>    $ cd linux
>    $ cp /boot/config-[whatever your kernel is] .config
>    $ yes '' | make localmodconfig
> 
> Then build your kernel.
> 
>    $ make -j10
>    $ sudo make modules_install install
> 
>>
>> (By the way, of course I meant that throughput *de*creases, not increases.)
> 
> of course ;-)
> 
> -- Steve
> 

Thank you, localmodconfig is an enormous timesaver. Once I got some 
local build problems/modules out of the way, this method worked very well.

So git-bisect finally identified the following commit.
The performance difference came in a single step. Times were consistent 
with my first post either the slow time or the fast time,
as far as I could tell during the bisection.

It is a bit unfortunate that this comes from an attempt to reduce OS noise.

-----------------------------------------------------
commit a5183862e76fdc25f36b39c2489b816a5c66e2e5
Author: Yunfeng Ye <yeyunfeng@huawei.com>
Date:   Thu May 13 01:29:16 2021 +0200

     tick/nohz: Conditionally restart tick on idle exit

     In nohz_full mode, switching from idle to a task will unconditionally
     issue a tick restart. If the task is alone in the runqueue or is the
     highest priority, the tick will fire once then eventually stop. But 
that
     alone is still undesired noise.

     Therefore, only restart the tick on idle exit when it's strictly
     necessary.

     Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
     Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
     Signed-off-by: Ingo Molnar <mingo@kernel.org>
     Acked-by: Peter Zijlstra <peterz@infradead.org>
     Link: 
https://lore.kernel.org/r/20210512232924.150322-3-frederic@kernel.org
-----------------------------------------------------

Is there anything else to do to complete this report?

  reply	other threads:[~2021-10-16  4:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-15  7:43 Performance regression: thread wakeup time (latency) increased up to 3x Norbert
2021-10-15  8:52 ` Peter Zijlstra
2021-10-15  9:36   ` Norbert
2021-10-15 14:04     ` Steven Rostedt
2021-10-16  4:08       ` Norbert [this message]
2021-10-18 11:25         ` Peter Zijlstra
2021-10-19  1:56           ` Norbert
2021-10-19  7:01             ` Norbert
2021-11-07 15:56               ` Frederic Weisbecker
2021-11-08 15:56                 ` Norbert
2021-10-22 13:03           ` Rafael J. Wysocki
2021-10-24  5:09             ` Norbert
2021-11-02  1:35               ` Norbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8691a8ec-410d-afe8-f468-eefe698c6751@gmail.com \
    --to=nbrtt01@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=yeyunfeng@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox