From: Thomas Gleixner <tglx@linutronix.de>
To: "Uwe Kleine-König" <ukleinek@informatik.uni-freiburg.de>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: Dynamic ticks make system jerking
Date: Tue, 26 Jun 2007 17:45:49 +0200 [thread overview]
Message-ID: <1182872749.11854.27.camel@chaos> (raw)
In-Reply-To: <20070626150015.GA20233@informatik.uni-freiburg.de>
On Tue, 2007-06-26 at 17:00 +0200, Uwe Kleine-König wrote:
> If I enable NO_HZ, the system jerks (I hope this is an understandable
> term ...). E.g.
>
> # time find /sys
> ...
> real 1m 19.52s
> user 0m 0.18s
> sys 0m 0.15s
>
> on a freshly booted machine. The output comes in several hunks with
> pausing between them. With no_hz=off, I get approx. the same.
it's nohz=off not no_hz=off
> If I have NO_HZ disabled however, I get
>
> # time find /sys
> ...
> real 0m 1.53s
> user 0m 0.15s
> sys 0m 0.18s
Well, you run in periodic mode then.
> Another thing is, if I press Enter once, the next prompt appears in a
> reasonable time. If I press twice in a row the 2nd prompt needs
> perceptible longer.
>
> Does someone have a hint for me how to debug (or even solve) this problem?
>
> First I wondered why set_next_event is called twice between two timer
> interrupts most of the time. I found out that the timer is programed
> for the next tick in any case and if nothing needs the next tick, the
> interval is enlarged. I didn't spend time yet to check if it is
> easier/faster to only program the timer once.
We optimize for the non-idle path, i.e. we keep the timer running as
long as we are not idle. Once we go idle we reprogram it.
I looked at the patch and as far as I can understand it, there is
nothing obviously wrong about it.
One remark: why did you expand the clocksource to be 64 bit? The generic
code handles the 32 bit wrap already, so the expansion in your read
routine is adding overhead. The counter will wrap every 24 seconds, so
there is nothing to worry about.
The behavior you are describing is might be related to some problem with
the clocksource readout, as the reprogramming values are calculated from
there.
tglx
next prev parent reply other threads:[~2007-06-26 15:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-26 15:00 Dynamic ticks make system jerking Uwe Kleine-König
2007-06-26 15:45 ` Thomas Gleixner [this message]
2007-06-27 16:35 ` Uwe Kleine-Koenig
2007-06-29 22:33 ` Uwe Kleine-König
2007-06-30 19:08 ` Ingo Molnar
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=1182872749.11854.27.camel@chaos \
--to=tglx@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=ukleinek@informatik.uni-freiburg.de \
/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