All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Troin <phil@fifi.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: eric miao <eric.y.miao@gmail.com>, Ingo Molnar <mingo@elte.hu>,
	LKML <linux-kernel@vger.kernel.org>,
	Jack Ren <jack.ren@marvell.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Dmitry Adamushko <dmitry.adamushko@gmail.com>
Subject: Re: [PATCH] sched: do not stop ticks when cpu is not idle
Date: 21 Jul 2008 12:13:09 -0700	[thread overview]
Message-ID: <87abgb3vay.fsf@old-tantale.fifi.org> (raw)
In-Reply-To: <alpine.LFD.1.10.0807181647500.4316@apollo.tec.linutronix.de>

Thomas Gleixner <tglx@linutronix.de> writes:

> On Fri, 18 Jul 2008, eric miao wrote:
> > On Fri, Jul 18, 2008 at 9:52 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > >> Thomas, Peter, Dmitry, do you concur with the analysis? (commit below)
> > >
> > > Yes. I did not understand the issue when Jack pointed it out to me,
> > > but with Erics explanation it's really clear. Thanks for tracking that
> > > down.
> > 
> > Actually, Jack did most of the analysis and came up with this quick
> > fix.
> > 
> > >
> > >> It looks a bit ugly to me in the middle of schedule() - is there no wait
> > >> to solve this within kernel/time/*.c ?
> > >
> > > Hmm, yes. I think the proper fix is to enable the tick stop mechanism
> > > in the idle loop and disable it before we go to schedule. That takes
> > > an additional parameter to tick_nohz_stop_sched_tick(), but we then
> > > gain a very clear section where the nohz mimic can be active.
> > >
> > > I'll whip up a patch.
> > 
> > Sounds great, thanks.
> 
> Hey, thanks for tracking that down. I was banging my head against the
> wall when I understood the problem.
> 
> I tried to pinpoint the occasional softlockup bug reports, but I
> probably stared too long into that code so I just saw what I expected
> to see.
> 
> Can you give the patch below a try please ?

Hi Thomas,

I've seen weird timer behavior on both i386 and x86_64 on SMP
machines.  By weird I mean:

 - time stops for a few hours, then resumes as if nothing happened;

 - time flows too fast or slow (4x faster to 2x slower depending on
   phase of the moon);

 - the last one I've seen (yesterday), was: 
      sleep(1) sleeps for 1 second, but
      select(0, NULL, NULL, NULL, 0.5) sleeps for nine seconds.

I have been trying to track this problem for a few weeks now, without
success.  Booting a CONFIG_NO_HZ-enabled kernel with "highres=off
nohz=off" does not make a difference.  However booting a kernel with
CONFIG_NO_HZ and CONFIG_HIGH_RES_TIMERS disabled seems to be working
(I cannot garantee that since I've been using that for 48h so far, but
sometimes the problem takes a few days to manifest itself).

After a cursory reading of your patch, it looks to me that the race
could happen on a kernel compiled with CONFIG_NO_HZ and
CONFIG_HIGH_RES_TIMERS and booted with "nohz=off highres=off".  Can
you confirm that?

If you need more details (dmesg, lspci, etc), I have posted some
details on LKML ( http://lkml.org/lkml/2008/7/9/330 ) and I have a bug
posted on the Fedora/RH bugzilla (
https://bugzilla.redhat.com/show_bug.cgi?id=451824 ).

Phil.

  parent reply	other threads:[~2008-07-21 19:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-18  6:41 [PATCH] sched: do not stop ticks when cpu is not idle eric miao
2008-07-18 10:24 ` Ingo Molnar
2008-07-18 10:54   ` Ingo Molnar
2008-07-18 11:08     ` Peter Zijlstra
2008-07-18 22:27       ` Ingo Molnar
2008-07-18 13:52   ` Thomas Gleixner
2008-07-18 14:38     ` eric miao
2008-07-18 15:27       ` Thomas Gleixner
2008-07-18 16:29         ` Heiko Carstens
2008-07-19  7:32           ` Thomas Gleixner
2008-07-21  7:34         ` Jack Ren
2008-07-21 19:13         ` Philippe Troin [this message]
2008-07-21 20:25           ` Thomas Gleixner
2008-07-21 20:53             ` Philippe Troin
2008-07-18 11:21 ` Dmitry Adamushko

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=87abgb3vay.fsf@old-tantale.fifi.org \
    --to=phil@fifi.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=dmitry.adamushko@gmail.com \
    --cc=eric.y.miao@gmail.com \
    --cc=jack.ren@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.