All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory Haskins <ghaskins@novell.com>
To: Gilles Carry <glscarry@free.fr>
Cc: Gilles Carry <gilles.carry@bull.net>,
	linux-rt-users@vger.kernel.org, tglx@linutronix.de,
	mingo@elte.hu, tinytim@us.ibm.com, jean-pierre.dion@bull.net,
	sebastien.dugue@bull.net
Subject: Re: [PATCH 1/2] [RT] hrtimers stuck in waitqueue
Date: Wed, 20 Aug 2008 06:57:37 -0400	[thread overview]
Message-ID: <48ABF8A1.9080009@novell.com> (raw)
In-Reply-To: <789E827C-DB3F-451E-BFFF-4210433029DF@free.fr>

[-- Attachment #1: Type: text/plain, Size: 1649 bytes --]

Hi Gilles,

Gilles Carry wrote:
>
> Le 19 août 08 à 16:10, Gregory Haskins a écrit :
>
>> Hi Gilles,
>>
>> Gilles Carry wrote:
>>> This patch makes hrtimers initialized with hrtimer_init_sleeper
>>> to use another mode and then not be stuck in waitqueues when
>>> hrtimer_interrupt is very busy.
>>>  
>>
>> Not sure if this is related, but I just posted a patch to fix a 
>> condition where hrtimer_interrupt could get artificially busy for 
>> *very* long periods of time (I observed 500ms).
>>
>> http://article.gmane.org/gmane.linux.rt.user/3357
>>
>> This bug was specific to 26-rt1.  Did you investigate the cause of 
>> the busy hrtimer_interrupt?  If not, its possible that your issue 
>> would be indirectly fixed now that the HRT subsystem doesn't 
>> spike-out like that.  Or do you believe these are orthogonal issues 
>> and we should still protect against non-pathological cases of 
>> hrtimer_interrupt running hot?
>
> Hello Greg,
> The cause of busy hrtimer interrupt is the test that stresses the 
> system. Many timers expire and are treated in a single interrupt run.
>
> Anyway looking at __run_hrtimer we can see:
> spin_unlock (&cpu_base->lock);
> restart = fn(timer);
> spin_lock(&cpu_base->lock);
>
> I guess It is the point where awaken threads might migrate to another cpu and reach hrtimer_cancel *before* __run_hrtimer has changed the timer state. (at the bottom of the function)
> This is why a new state machine is needed.

It sounds reasonable that both fixes are needed, then.  Thanks.

-Greg

>
> Regards,
> Gilles.
>
>>
>>
>> Regards,
>> -Greg
>>
>>
>>
>



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

  parent reply	other threads:[~2008-08-20 10:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-18 14:42 [PATCH 0/2][RT] hrtimers stuck in waitqueue Gilles Carry
2008-08-18 14:42 ` [PATCH 1/2] [RT] " Gilles Carry
2008-08-19 14:10   ` Gregory Haskins
     [not found]     ` <789E827C-DB3F-451E-BFFF-4210433029DF@free.fr>
2008-08-20 10:57       ` Gregory Haskins [this message]
2008-08-21 13:16   ` John Kacur
2008-08-22  6:11     ` Gilles Carry
2008-08-22 14:39   ` Thomas Gleixner
2008-08-25 13:09     ` Gilles Carry
2008-08-18 14:42 ` [PATCH 2/2] [RT] hrtimer __run_hrtimer code cleanup Gilles Carry
2008-08-20 21:48   ` John Kacur
2008-08-21 12:18     ` Gilles Carry
2008-08-21 13:03       ` John Kacur
2008-08-22  6:04         ` Gilles Carry

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=48ABF8A1.9080009@novell.com \
    --to=ghaskins@novell.com \
    --cc=gilles.carry@bull.net \
    --cc=glscarry@free.fr \
    --cc=jean-pierre.dion@bull.net \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=sebastien.dugue@bull.net \
    --cc=tglx@linutronix.de \
    --cc=tinytim@us.ibm.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 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.