public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Gene Heskett <gene.heskett@verizon.net>,
	LKML <linux-kernel@vger.kernel.org>, "K.R. Foley" <kr@cybsft.com>,
	Lee Revell <rlrevell@joe-job.com>,
	Rui Nuno Capela <rncbc@rncbc.org>
Subject: Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Date: Mon, 04 Apr 2005 16:40:53 -0400	[thread overview]
Message-ID: <1112647253.5147.17.camel@localhost.localdomain> (raw)
In-Reply-To: <20050404200043.GA16736@elte.hu>

On Mon, 2005-04-04 at 22:00 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > So it is probably stuck in some spinning "yield" loop, which was the 
> > reason I was writing this test to begin with!  It's most likely also 
> > waiting for kjournald to do some work, and is starving it in a 
> > schedule or yield loop never actually going to sleep letting kjournald 
> > do the real work.
> 
> actually, what priorities do the yielding tasks have? sched_yield() does 
> not guarantee that the CPU will be given up, of if a highest-prio 
> SCHED_FIFO task is in a yield() loop it will livelock the system.
> 

What scares me is the code in fs/inode.c with that
__wait_on_freeing_inode.  Look at the code in find_inode and
find_inode_fast.  Here you will see that they really are busy loops with
a yield in them, if the inode they are waiting on is I_FREEING or
I_CLEAR and the process doing this hasn't set I_LOCK.  I haven't looked
much at this, but my kernel has livelocked on it.

My custom kernel plays with dynamic priorities. That is tasks jump
around in their priorities based on different situations not part of the
normal linux kernel. So my kernel can find these cases easier since a
path where a process gets bumped up to a high priority happens more
often and causes preemption more often than the normal RT kernel. But
this situation can probably occur in the RT kernel and maybe even the
mainline kernel, since it only needs to have a RT FIFO task get blocked
here, and a lower priority task needing to run to change the state.

Currently my fix is in yield to lower the priority of the task calling
yield and raise it after the schedule.  This is NOT a proper fix. It's
just a hack so I can get by it and test other parts. 

-- Steve



  reply	other threads:[~2005-04-04 20:43 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-25 14:59 [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10 Ingo Molnar
2005-03-25 22:33 ` Lee Revell
2005-03-25 22:39   ` Ingo Molnar
2005-03-26  5:14     ` Lee Revell
2005-03-27  8:58       ` Ingo Molnar
2005-03-30  5:16         ` Lee Revell
2005-03-30  6:54           ` Ingo Molnar
2005-03-29 22:31 ` Lee Revell
2005-03-30  8:03   ` Ingo Molnar
2005-03-31  8:55 ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25 Ingo Molnar
2005-04-01 10:47   ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00 Ingo Molnar
2005-04-01 12:13     ` Rui Nuno Capela
2005-04-01 12:52       ` Ingo Molnar
2005-04-01 14:42         ` Rui Nuno Capela
2005-04-01 15:06           ` Ingo Molnar
2005-04-01 15:52             ` Rui Nuno Capela
2005-04-01 16:28               ` Ingo Molnar
2005-04-01 21:26                 ` Rui Nuno Capela
2005-04-01 17:31     ` Gene Heskett
2005-04-01 18:27       ` K.R. Foley
2005-04-01 18:29         ` Ingo Molnar
2005-04-01 19:21           ` Gene Heskett
2005-04-01 19:19         ` Gene Heskett
2005-04-01 19:22           ` K.R. Foley
2005-04-01 23:34             ` Gene Heskett
2005-04-02  1:45               ` Lee Revell
2005-04-02  2:30                 ` Gene Heskett
2005-04-02  5:12               ` Ingo Molnar
2005-04-02 19:37                 ` Steven Rostedt
2005-04-02 20:06                   ` Steven Rostedt
2005-04-02 20:17                     ` Lee Revell
2005-04-02 20:34                       ` Ingo Molnar
2005-04-02 22:38                         ` Gene Heskett
2005-04-02 20:35                     ` Ingo Molnar
2005-04-02 20:44                       ` Steven Rostedt
2005-04-02 22:09                         ` Steven Rostedt
2005-04-03  0:06                           ` Steven Rostedt
2005-04-04 20:00                             ` Ingo Molnar
2005-04-04 20:40                               ` Steven Rostedt [this message]
2005-04-04 20:47                                 ` Ingo Molnar
2005-04-04 21:14                                   ` Steven Rostedt
2005-04-04 22:51                                     ` Zwane Mwaikambo
2005-04-04 22:59                                       ` Steven Rostedt
2005-04-04 23:09                                       ` Esben Nielsen
2005-04-05  7:57                                         ` Zwane Mwaikambo
2005-04-05 15:18                                           ` Mike Galbraith
2005-04-04 23:06                                     ` Esben Nielsen
2005-04-05  5:34                                       ` Ingo Molnar
2005-04-05  9:25                                         ` Esben Nielsen
2005-04-02 23:45                       ` Lee Revell
2005-04-02 20:10                   ` Lee Revell
2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
2005-04-05 19:06       ` Rui Nuno Capela
2005-04-05 19:36         ` Steven Rostedt
2005-04-08 15:22           ` Rui Nuno Capela
2005-04-08 17:15             ` Lee Revell
2005-04-08 20:15               ` K.R. Foley
2005-04-08 20:17                 ` Lee Revell
2005-04-08 20:26                   ` K.R. Foley
2005-04-08 21:00                     ` Lee Revell
2005-04-08 21:36                       ` K.R. Foley
2005-04-10 17:23       ` K.R. Foley
2005-04-10 17:27         ` Ingo Molnar
2005-04-10 17:39           ` Steven Rostedt
2005-04-10 17:47             ` Ingo Molnar
2005-04-12 18:17               ` Lee Revell
2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
2005-04-21  8:45         ` Paolo Ciarrocchi
2005-04-21 16:16         ` Daniel Walker
2005-04-21 19:54         ` Daniel Walker
2005-04-22  6:27         ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 Ingo Molnar
2005-04-22  7:34           ` Ingo Molnar
2005-04-22 15:48             ` Daniel Walker
2005-04-22 15:49               ` Ingo Molnar
2005-04-22 15:53                 ` Daniel Walker
2005-04-22 15:55                   ` Ingo Molnar
2005-04-22 15:56                     ` Ingo Molnar
2005-04-26 17:49                     ` Daniel Walker
2005-05-09  7:23                       ` Ingo Molnar
2005-04-22 21:06             ` Inaky Perez-Gonzalez
2005-04-22 21:15               ` Daniel Walker
2005-05-04  8:24                 ` Ingo Molnar
2005-04-22 21:17               ` Daniel Walker
2005-04-30 23:28           ` Lee Revell
2005-05-04  8:22             ` Ingo Molnar
2005-05-04 15:05               ` Lee Revell

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=1112647253.5147.17.camel@localhost.localdomain \
    --to=rostedt@goodmis.org \
    --cc=gene.heskett@verizon.net \
    --cc=kr@cybsft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rlrevell@joe-job.com \
    --cc=rncbc@rncbc.org \
    /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