Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-05 Thread Mike Galbraith
At 01:57 AM 4/5/2005 -0600, Zwane Mwaikambo wrote:
On Tue, 5 Apr 2005, Esben Nielsen wrote:
> > I'm sure a lot of the yield() users could be converted to
> > schedule_timeout(), some of the users i saw were for low memory 
conditions
> > where we want other tasks to make progress and complete so that we a bit
> > more free memory.
> >
>
> Easy, but damn ugly. Completions are the right answer. The memory system
> needs a queue system where tasks can sleep (with a timeout) until the
> right amount of memory is available instead of half busy-looping.

I agree entirely, that would definitely be a better way to go eventually.
I wouldn't bet on it.  There used to be a queue - minus the 
timeout.  Throughput improved markedly with it's removal.

That said, yield()s in the kernel can be quite evil.  I once instrumented 
semaphores, and under hefty load, frequently found tasks waiting for a 
semaphore held by someone in the expired array.  When you've got a busy 
cpu, that wait can be _extremely_ painful.  The yield()s in mm/*.c are long 
gone (thank god), but after a quick grep/peek, I can imagine the one in 
free_more_memory() causing some throughput grief in a cpu intense 
environment, and the one in __wait_on_freeing_inode() would punt you into 
the dungeon while you're holding the inode lock... that looks like it could 
be pretty unpleasant.

-Mike 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-05 Thread Esben Nielsen
On Tue, 5 Apr 2005, Ingo Molnar wrote:

> 
> * Esben Nielsen <[EMAIL PROTECTED]> wrote:
> 
> > > Now the question is, who will fix it? Preferably the maintainers, but I
> > > don't know how much of a priority this is to them. I don't have the time
> > > now to look at this and understand enough about the code to be able to
> > > make a proper fix, and I'm sure you have other things to do too.
> > 
> > How about adding a
> >  if(rt_task(current)) {
> > WARN_ON(1);
> > mutex_setprio(current, MAX_PRIO-1)
> >  }
> > ?
> > 
> > to find all calls to yields from rt-tasks. That will force the user 
> > (aka the real-time developer) to either stop calling the subsystems 
> > still using yield from his RT-tasks, or fix those subsystems.
> 
> i've added this to the -43-08 patch, so that we can see the scope of the 
> problem. But any yield() use could become a problem due to priority 
> inheritance. (which might eventually be expanded to userspace locking 
> too)
> 
Any calls to non-deterministic subsystems breaks the real-time properties.
yield() is certainly not the only problem. Code waiting for RCU-completion
or whatever is bad too. Calling code like that from RT-tasks or calling
them while having locks shared with RT-tasks is just bad. Anyone knowing
about RT development _has_ to know that. Putting warnings and traces into
the kernel is a nice feature. 

Static code analyzes would also help quite a bit. What about having a new
attribute "nonrt" for functions and locks? yield() and syncronize_kernel() are 
certain candidates. Any function having nonrt operations are marked 
nonrt. Any lock becomes held while doing a nonrt operation is marked
nonrt. Taking a nonrt lock is a nonrt operation. (Might end up marking the
whole kernel nonrt)

Esben

>   Ingo



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-05 Thread Zwane Mwaikambo
On Tue, 5 Apr 2005, Esben Nielsen wrote:

> > I'm sure a lot of the yield() users could be converted to 
> > schedule_timeout(), some of the users i saw were for low memory conditions 
> > where we want other tasks to make progress and complete so that we a bit 
> > more free memory.
> > 
> 
> Easy, but damn ugly. Completions are the right answer. The memory system
> needs a queue system where tasks can sleep (with a timeout) until the
> right amount of memory is available instead of half busy-looping.

I agree entirely, that would definitely be a better way to go eventually.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-05 Thread Zwane Mwaikambo
On Tue, 5 Apr 2005, Esben Nielsen wrote:

  I'm sure a lot of the yield() users could be converted to 
  schedule_timeout(), some of the users i saw were for low memory conditions 
  where we want other tasks to make progress and complete so that we a bit 
  more free memory.
  
 
 Easy, but damn ugly. Completions are the right answer. The memory system
 needs a queue system where tasks can sleep (with a timeout) until the
 right amount of memory is available instead of half busy-looping.

I agree entirely, that would definitely be a better way to go eventually.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-05 Thread Esben Nielsen
On Tue, 5 Apr 2005, Ingo Molnar wrote:

 
 * Esben Nielsen [EMAIL PROTECTED] wrote:
 
   Now the question is, who will fix it? Preferably the maintainers, but I
   don't know how much of a priority this is to them. I don't have the time
   now to look at this and understand enough about the code to be able to
   make a proper fix, and I'm sure you have other things to do too.
  
  How about adding a
   if(rt_task(current)) {
  WARN_ON(1);
  mutex_setprio(current, MAX_PRIO-1)
   }
  ?
  
  to find all calls to yields from rt-tasks. That will force the user 
  (aka the real-time developer) to either stop calling the subsystems 
  still using yield from his RT-tasks, or fix those subsystems.
 
 i've added this to the -43-08 patch, so that we can see the scope of the 
 problem. But any yield() use could become a problem due to priority 
 inheritance. (which might eventually be expanded to userspace locking 
 too)
 
Any calls to non-deterministic subsystems breaks the real-time properties.
yield() is certainly not the only problem. Code waiting for RCU-completion
or whatever is bad too. Calling code like that from RT-tasks or calling
them while having locks shared with RT-tasks is just bad. Anyone knowing
about RT development _has_ to know that. Putting warnings and traces into
the kernel is a nice feature. 

Static code analyzes would also help quite a bit. What about having a new
attribute nonrt for functions and locks? yield() and syncronize_kernel() are 
certain candidates. Any function having nonrt operations are marked 
nonrt. Any lock becomes held while doing a nonrt operation is marked
nonrt. Taking a nonrt lock is a nonrt operation. (Might end up marking the
whole kernel nonrt)

Esben

   Ingo



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-05 Thread Mike Galbraith
At 01:57 AM 4/5/2005 -0600, Zwane Mwaikambo wrote:
On Tue, 5 Apr 2005, Esben Nielsen wrote:
  I'm sure a lot of the yield() users could be converted to
  schedule_timeout(), some of the users i saw were for low memory 
conditions
  where we want other tasks to make progress and complete so that we a bit
  more free memory.
 

 Easy, but damn ugly. Completions are the right answer. The memory system
 needs a queue system where tasks can sleep (with a timeout) until the
 right amount of memory is available instead of half busy-looping.

I agree entirely, that would definitely be a better way to go eventually.
I wouldn't bet on it.  There used to be a queue - minus the 
timeout.  Throughput improved markedly with it's removal.

That said, yield()s in the kernel can be quite evil.  I once instrumented 
semaphores, and under hefty load, frequently found tasks waiting for a 
semaphore held by someone in the expired array.  When you've got a busy 
cpu, that wait can be _extremely_ painful.  The yield()s in mm/*.c are long 
gone (thank god), but after a quick grep/peek, I can imagine the one in 
free_more_memory() causing some throughput grief in a cpu intense 
environment, and the one in __wait_on_freeing_inode() would punt you into 
the dungeon while you're holding the inode lock... that looks like it could 
be pretty unpleasant.

-Mike 

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Ingo Molnar

* Esben Nielsen <[EMAIL PROTECTED]> wrote:

> > Now the question is, who will fix it? Preferably the maintainers, but I
> > don't know how much of a priority this is to them. I don't have the time
> > now to look at this and understand enough about the code to be able to
> > make a proper fix, and I'm sure you have other things to do too.
> 
> How about adding a
>  if(rt_task(current)) {
> WARN_ON(1);
> mutex_setprio(current, MAX_PRIO-1)
>  }
> ?
> 
> to find all calls to yields from rt-tasks. That will force the user 
> (aka the real-time developer) to either stop calling the subsystems 
> still using yield from his RT-tasks, or fix those subsystems.

i've added this to the -43-08 patch, so that we can see the scope of the 
problem. But any yield() use could become a problem due to priority 
inheritance. (which might eventually be expanded to userspace locking 
too)

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Esben Nielsen
On Mon, 4 Apr 2005, Zwane Mwaikambo wrote:

> On Mon, 4 Apr 2005, Steven Rostedt wrote:
> 
> > On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> > 
> > > > 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.
> > > 
> > > yeah, yield() is a quite RT-incompatible concept, which could livelock 
> > > an upstream kernel just as much - if the task in question is SCHED_FIFO.  
> > > Almost all yield() uses should be eliminated from the upstream kernel, 
> > > step by step.
> > 
> > Now the question is, who will fix it? Preferably the maintainers, but I
> > don't know how much of a priority this is to them. I don't have the time
> > now to look at this and understand enough about the code to be able to
> > make a proper fix, and I'm sure you have other things to do too.
> 
> I'm sure a lot of the yield() users could be converted to 
> schedule_timeout(), some of the users i saw were for low memory conditions 
> where we want other tasks to make progress and complete so that we a bit 
> more free memory.
> 

Easy, but damn ugly. Completions are the right answer. The memory system
needs a queue system where tasks can sleep (with a timeout) until the
right amount of memory is available instead of half busy-looping.

Esben


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Esben Nielsen
On Mon, 4 Apr 2005, Steven Rostedt wrote:

> On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> 
> > > 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.
> > 
> > yeah, yield() is a quite RT-incompatible concept, which could livelock 
> > an upstream kernel just as much - if the task in question is SCHED_FIFO.  
> > Almost all yield() uses should be eliminated from the upstream kernel, 
> > step by step.
> 
> Now the question is, who will fix it? Preferably the maintainers, but I
> don't know how much of a priority this is to them. I don't have the time
> now to look at this and understand enough about the code to be able to
> make a proper fix, and I'm sure you have other things to do too.

How about adding a
 if(rt_task(current)) {
WARN_ON(1);
mutex_setprio(current, MAX_PRIO-1)
 }
?

to find all calls to yields from rt-tasks. That will force the user (aka
the real-time developer) to either stop calling the subsystems still using
yield from his RT-tasks, or fix those subsystems.

Esben

> 
> -- Steve
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Steven Rostedt
On Mon, 2005-04-04 at 16:51 -0600, Zwane Mwaikambo wrote:

> I'm sure a lot of the yield() users could be converted to 
> schedule_timeout(), some of the users i saw were for low memory conditions 
> where we want other tasks to make progress and complete so that we a bit 
> more free memory.
> 

I've stated earlier that I was locked up in fs/inode.c with the
__wait_on_freeing_inode. Can this be switched to a schedule_timeout?

Of course schedule_timeout is not too good with RT as well. Although you
can prevent a live_deadlock, but we bring up the problem of priority
inversion again. The process needing to run can still be starved by
another higher priority process that is lower in priority as the one
doing the waiting.

The schedule_timeout should stop the livelock. But what is the effect of
switching to it?

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Zwane Mwaikambo
On Mon, 4 Apr 2005, Steven Rostedt wrote:

> On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> 
> > > 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.
> > 
> > yeah, yield() is a quite RT-incompatible concept, which could livelock 
> > an upstream kernel just as much - if the task in question is SCHED_FIFO.  
> > Almost all yield() uses should be eliminated from the upstream kernel, 
> > step by step.
> 
> Now the question is, who will fix it? Preferably the maintainers, but I
> don't know how much of a priority this is to them. I don't have the time
> now to look at this and understand enough about the code to be able to
> make a proper fix, and I'm sure you have other things to do too.

I'm sure a lot of the yield() users could be converted to 
schedule_timeout(), some of the users i saw were for low memory conditions 
where we want other tasks to make progress and complete so that we a bit 
more free memory.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Steven Rostedt
On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:

> > 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.
> 
> yeah, yield() is a quite RT-incompatible concept, which could livelock 
> an upstream kernel just as much - if the task in question is SCHED_FIFO.  
> Almost all yield() uses should be eliminated from the upstream kernel, 
> step by step.

Now the question is, who will fix it? Preferably the maintainers, but I
don't know how much of a priority this is to them. I don't have the time
now to look at this and understand enough about the code to be able to
make a proper fix, and I'm sure you have other things to do too.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Ingo Molnar

* Steven Rostedt <[EMAIL PROTECTED]> wrote:

> > 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.

ok, makes sense.

> 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.

yeah, yield() is a quite RT-incompatible concept, which could livelock 
an upstream kernel just as much - if the task in question is SCHED_FIFO.  
Almost all yield() uses should be eliminated from the upstream kernel, 
step by step.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Steven Rostedt
On Mon, 2005-04-04 at 22:00 +0200, Ingo Molnar wrote:
> * Steven Rostedt <[EMAIL PROTECTED]> 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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Ingo Molnar

* Steven Rostedt <[EMAIL PROTECTED]> 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.

Ingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Ingo Molnar

* Steven Rostedt [EMAIL PROTECTED] 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.

Ingo

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Steven Rostedt
On Mon, 2005-04-04 at 22:00 +0200, Ingo Molnar wrote:
 * Steven Rostedt [EMAIL PROTECTED] 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


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Ingo Molnar

* Steven Rostedt [EMAIL PROTECTED] wrote:

  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.

ok, makes sense.

 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.

yeah, yield() is a quite RT-incompatible concept, which could livelock 
an upstream kernel just as much - if the task in question is SCHED_FIFO.  
Almost all yield() uses should be eliminated from the upstream kernel, 
step by step.

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Steven Rostedt
On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:

  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.
 
 yeah, yield() is a quite RT-incompatible concept, which could livelock 
 an upstream kernel just as much - if the task in question is SCHED_FIFO.  
 Almost all yield() uses should be eliminated from the upstream kernel, 
 step by step.

Now the question is, who will fix it? Preferably the maintainers, but I
don't know how much of a priority this is to them. I don't have the time
now to look at this and understand enough about the code to be able to
make a proper fix, and I'm sure you have other things to do too.

-- Steve


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Zwane Mwaikambo
On Mon, 4 Apr 2005, Steven Rostedt wrote:

 On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
 
   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.
  
  yeah, yield() is a quite RT-incompatible concept, which could livelock 
  an upstream kernel just as much - if the task in question is SCHED_FIFO.  
  Almost all yield() uses should be eliminated from the upstream kernel, 
  step by step.
 
 Now the question is, who will fix it? Preferably the maintainers, but I
 don't know how much of a priority this is to them. I don't have the time
 now to look at this and understand enough about the code to be able to
 make a proper fix, and I'm sure you have other things to do too.

I'm sure a lot of the yield() users could be converted to 
schedule_timeout(), some of the users i saw were for low memory conditions 
where we want other tasks to make progress and complete so that we a bit 
more free memory.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Steven Rostedt
On Mon, 2005-04-04 at 16:51 -0600, Zwane Mwaikambo wrote:

 I'm sure a lot of the yield() users could be converted to 
 schedule_timeout(), some of the users i saw were for low memory conditions 
 where we want other tasks to make progress and complete so that we a bit 
 more free memory.
 

I've stated earlier that I was locked up in fs/inode.c with the
__wait_on_freeing_inode. Can this be switched to a schedule_timeout?

Of course schedule_timeout is not too good with RT as well. Although you
can prevent a live_deadlock, but we bring up the problem of priority
inversion again. The process needing to run can still be starved by
another higher priority process that is lower in priority as the one
doing the waiting.

The schedule_timeout should stop the livelock. But what is the effect of
switching to it?

-- Steve


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Esben Nielsen
On Mon, 4 Apr 2005, Steven Rostedt wrote:

 On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
 
   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.
  
  yeah, yield() is a quite RT-incompatible concept, which could livelock 
  an upstream kernel just as much - if the task in question is SCHED_FIFO.  
  Almost all yield() uses should be eliminated from the upstream kernel, 
  step by step.
 
 Now the question is, who will fix it? Preferably the maintainers, but I
 don't know how much of a priority this is to them. I don't have the time
 now to look at this and understand enough about the code to be able to
 make a proper fix, and I'm sure you have other things to do too.

How about adding a
 if(rt_task(current)) {
WARN_ON(1);
mutex_setprio(current, MAX_PRIO-1)
 }
?

to find all calls to yields from rt-tasks. That will force the user (aka
the real-time developer) to either stop calling the subsystems still using
yield from his RT-tasks, or fix those subsystems.

Esben

 
 -- Steve
 


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Esben Nielsen
On Mon, 4 Apr 2005, Zwane Mwaikambo wrote:

 On Mon, 4 Apr 2005, Steven Rostedt wrote:
 
  On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
  
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.
   
   yeah, yield() is a quite RT-incompatible concept, which could livelock 
   an upstream kernel just as much - if the task in question is SCHED_FIFO.  
   Almost all yield() uses should be eliminated from the upstream kernel, 
   step by step.
  
  Now the question is, who will fix it? Preferably the maintainers, but I
  don't know how much of a priority this is to them. I don't have the time
  now to look at this and understand enough about the code to be able to
  make a proper fix, and I'm sure you have other things to do too.
 
 I'm sure a lot of the yield() users could be converted to 
 schedule_timeout(), some of the users i saw were for low memory conditions 
 where we want other tasks to make progress and complete so that we a bit 
 more free memory.
 

Easy, but damn ugly. Completions are the right answer. The memory system
needs a queue system where tasks can sleep (with a timeout) until the
right amount of memory is available instead of half busy-looping.

Esben


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-04 Thread Ingo Molnar

* Esben Nielsen [EMAIL PROTECTED] wrote:

  Now the question is, who will fix it? Preferably the maintainers, but I
  don't know how much of a priority this is to them. I don't have the time
  now to look at this and understand enough about the code to be able to
  make a proper fix, and I'm sure you have other things to do too.
 
 How about adding a
  if(rt_task(current)) {
 WARN_ON(1);
 mutex_setprio(current, MAX_PRIO-1)
  }
 ?
 
 to find all calls to yields from rt-tasks. That will force the user 
 (aka the real-time developer) to either stop calling the subsystems 
 still using yield from his RT-tasks, or fix those subsystems.

i've added this to the -43-08 patch, so that we can see the scope of the 
problem. But any yield() use could become a problem due to priority 
inheritance. (which might eventually be expanded to userspace locking 
too)

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Lee Revell
On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
> > For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
> > Grub option), and the system just locked up hard.  I just was curious 
> > if this was from a different change. But at least in the latest it 
> > shows output, and not just a hard lockup.
> > 
> > Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
> 
> ok, so it's not the recent NFS changes.

Here's an interesting trace I got today.  It looks either the emu10k1 or
USB irq handler left IRQ 10 disabled.  This isn't a tracer bug because
you can clearly see this leads to an xrun.  Since I've been hacking the
emu10k1 driver quite a bit, I suspect this is the problem.

This trace also shows that my trigger callback for the emu10k1
multichannel device needs optimizing; it takes 300 usecs to stop all 16
voices, not acceptable for an ALSA irq handler which uses SA_INTERRUPT.
I think I can improve this significantly by reordering the register
settings and eliminating some function call overhead.

Lee


latency_trace.bz2
Description: application/bzip


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Gene Heskett
On Saturday 02 April 2005 15:34, Ingo Molnar wrote:
>* Lee Revell <[EMAIL PROTECTED]> wrote:
>> It wasn't clear from your last mail whether you were using NFS. 
>> If so I would be suspicious given the NFS changes in the new RT
>> patches. I'll try to reproduce the problem on a local fs.
>
>also, try to undo the fs/nfs/*.c and include/linux/*nfs*.h changes,
>those are latency breakers, so not strictly necessary.
>
> Ingo
Hi Ingo;

I just got done rebooting to 43-06, had problems with my heyu
startup scripts again, but I finally found a missing & in one
of them, and I can have it recycle itself from the cli like it
used to again.

So far, with *all* the 'logit' switches turned on and in full
preempt mode, there's nothing unusual in the log.

Here goes tvtime from a cli:
Audio only, blue screen video, this in the log:
---
Apr  2 17:12:48 coyote kernel: cx88[0]: video y / packed - dma channel status 
dump
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: initial risc: 0x06b46000
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: cdt base: 0x00180440
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: cdt size: 0x000c
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq base : 0x00180400
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq size : 0x0010
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: risc pc : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq wr ptr   : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq rd ptr   : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: cdt current : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: pci target  : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: line / byte : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc0: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc1: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc2: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc3: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 0: 0x80008000 [ sync resync 
count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 1: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 2: 0x06922000 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 3: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 4: 0x06922a00 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 5: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 6: 0x2dc68400 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 7: 0x18000200 [ write sol 
count=512 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 8: 0x2dc68e00 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 9: 0x14000300 [ write eol 
count=768 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq a: 0x2dc69000 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq b: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq c: 0x2dc69800 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq d: 0x0031c040 [ INVALID 21 20 cnt0 
resync 14 count=64 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq e: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq f: 0x0011 [ INVALID count=17 ]
Apr  2 17:12:48 coyote kernel: cx88[0]: fifo: 0x00180c00 -> 0x183400
Apr  2 17:12:48 coyote kernel: cx88[0]: ctrl: 0x00180400 -> 0x180460
Apr  2 17:12:48 coyote kernel: cx88[0]:   ptr1_reg: 0x00182118
Apr  2 17:12:48 coyote kernel: cx88[0]:   ptr2_reg: 0x00180488
Apr  2 17:12:48 coyote kernel: cx88[0]:   cnt1_reg: 0x0082
Apr  2 17:12:48 coyote kernel: cx88[0]:   cnt2_reg: 0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d4da5940/0] timeout - dma=0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d4da5d40/1] timeout - dma=0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d417d960/2] timeout - dma=0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d4da5540/3] timeout - dma=0x06b46000
Apr  2 17:12:49 coyote kernel: cx88[0]: video y / packed - dma channel status 
dump
[...]
followed by many repeats of the above as I let it run about
5-6 seconds.  On exit, this:
Apr  2 17:12:57 coyote kernel: rtc latency histogram of {tvtime/5717, 232 
samples}:
Apr  2 17:12:57 coyote kernel: 20 4
Apr  2 17:12:57 coyote kernel: 21 81
Apr  2 17:12:57 coyote kernel: 22 64
Apr  2 17:12:57 coyote kernel: 23 32
Apr  2 17:12:57 coyote kernel: 24 13
Apr  2 17:12:57 coyote kernel: 25 2
Apr  2 17:12:57 coyote kernel: 26 8
Apr  2 17:12:57 coyote kernel: 27 2
Apr  2 17:12:57 coyote kernel: 28 3
Apr  2 17:12:57 coyote kernel: 29 1
Apr  2 17:12:57 coyote kernel: 30 1
Apr  2 17:12:57 coyote kernel: 32 2
Apr  2 17:12:57 coyote kernel: 33 2
Apr  2 17:12:57 coyote kernel: 34 1
Apr  2 17:12:57 coyote kernel: 35 1
Apr  2 17:12:57 coyote kernel: 37 1
Apr  2 17:12:57 coyote kernel:  14

dma timeouts. I don't get these, and I do get good 

Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
On Sat, 2005-04-02 at 15:44 -0500, Steven Rostedt wrote:
> On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:

> > > 
> > > FYI
> > > 
> > > For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
> > > Grub option), and the system just locked up hard.  I just was curious 
> > > if this was from a different change. But at least in the latest it 
> > > shows output, and not just a hard lockup.
> > > 
> > > Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
> > 
> > ok, so it's not the recent NFS changes.
> > 
> 
> I may need to take this back. I forgot to open the serial, so it wasn't
> accepting input. So it would just appear dead. And the console was
> fighting against the RT tasks, so it too would seem to be dead.  I've
> reran the test on the latest, but this time I didn't have the NFS
> mounted, and it's still running.
> 

I tried the 2.6.12-rc1-RT-V0.7.43-06 kernel again, and I still have the
serial, to do sysrq. The console is using X which locks (even all the
ctrl-alt-X functions) and the ssh session that I run the test stops
after the processes try to grab the locks. It doesn't reply to ping. But
the sysrq from the serial shows constantly:

stest3_rt: 2269 [cf304690,  89] (not blocked)
stest3_rt: 2270 [cf304050,  88] (not blocked)
stest3_rt: 2271 [cef86cb0,  87] (not blocked)
stest3_rt: 2272 [cef86670,  86] (not blocked)
Rtest3_rt: 2273 [cf28a050,  85] (not blocked)


So it seems that it's in a deadlock somewhere. Since the 43-06 gets much
further, this seems to be another problem. I'm not going to look at this
problem anymore, since it doesn't show up in the lastest.

I'll run a few more tests to see if I can narrow things down on 43-06.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
> * Steven Rostedt <[EMAIL PROTECTED]> wrote:
> 
> > On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> > 
> > > Here's the bug I get:
> > > 
> > 
> > FYI
> > 
> > For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
> > Grub option), and the system just locked up hard.  I just was curious 
> > if this was from a different change. But at least in the latest it 
> > shows output, and not just a hard lockup.
> > 
> > Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
> 
> ok, so it's not the recent NFS changes.
> 

I may need to take this back. I forgot to open the serial, so it wasn't
accepting input. So it would just appear dead. And the console was
fighting against the RT tasks, so it too would seem to be dead.  I've
reran the test on the latest, but this time I didn't have the NFS
mounted, and it's still running.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Ingo Molnar

* Lee Revell <[EMAIL PROTECTED]> wrote:

> It wasn't clear from your last mail whether you were using NFS.  If so 
> I would be suspicious given the NFS changes in the new RT patches.  
> I'll try to reproduce the problem on a local fs.

also, try to undo the fs/nfs/*.c and include/linux/*nfs*.h changes, 
those are latency breakers, so not strictly necessary.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Ingo Molnar

* Steven Rostedt <[EMAIL PROTECTED]> wrote:

> On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> 
> > Here's the bug I get:
> > 
> 
> FYI
> 
> For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
> Grub option), and the system just locked up hard.  I just was curious 
> if this was from a different change. But at least in the latest it 
> shows output, and not just a hard lockup.
> 
> Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.

ok, so it's not the recent NFS changes.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Lee Revell
On Sat, 2005-04-02 at 15:06 -0500, Steven Rostedt wrote:
> On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> 
> > Here's the bug I get:
> > 
> 
> FYI
> 
> For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a
> Grub option), and the system just locked up hard.  I just was curious if
> this was from a different change. But at least in the latest it shows
> output, and not just a hard lockup.

I had the same results yesterday, while punishing the swap by building
the kernel with make -j64 over NFS.  It thrashed wildly for 20 minutes
or so then eventually all disk activity stopped.  Of course that stupid
cow continued bouncing up and down...

It wasn't clear from your last mail whether you were using NFS.  If so I
would be suspicious given the NFS changes in the new RT patches.  I'll
try to reproduce the problem on a local fs.

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Lee Revell
On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> What the test program does, is spawn 5 processes, each with a different
> priority. Starting with 10 and going to 14. All are SCHED_FIFO.  Each of
> these processes just do a scan of all directories starting with the root
> directory '/' and going down. I usually run this with a directory NFS
> mounted too, but I don't think this was a problem.

My knowledge of the kernel is still pretty limited, but it looks to me
like something corrupted the timer list.

Have you tried kdb?  Last time I checked it worked great with
PREEMPT_RT.

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:

> Here's the bug I get:
> 

FYI

For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a
Grub option), and the system just locked up hard.  I just was curious if
this was from a different change. But at least in the latest it shows
output, and not just a hard lockup.

Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.

-- Steve



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
Hi Ingo,

I've discovered a problem with basically all "yields" in the kernel. But
that's not why I'm writing you this. To see if your kernel has the same
problems as mine, I wrote a modified test that caused me the problems,
and ran it on your kernel. But too my surprise, this test caused other
problems. This modified test causes my kernel the same types of problems
too.

Attached is the test I ran. The list.h is just my version of the kernels
list functions for userspace. It's used in the test program. 

What the test program does, is spawn 5 processes, each with a different
priority. Starting with 10 and going to 14. All are SCHED_FIFO.  Each of
these processes just do a scan of all directories starting with the root
directory '/' and going down. I usually run this with a directory NFS
mounted too, but I don't think this was a problem.

Here's the bug I get:

Slab corruption: start=cfc45938, len=276
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [](mempool_free+0x9d/0xb0)
050: 68 9a 3e c0 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=cfc45818, len=276
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [](mempool_create+0xe8/0x120)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=cfc45a58, len=276
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<>](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
BUG at kernel/timer.c:419!
[ cut here ]
kernel BUG at kernel/timer.c:419!
invalid operand:  [#1]
PREEMPT 
Modules linked in:
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010282   (2.6.12-rc1-RT-V0.7.43-06) 
EIP is at cascade+0x6d/0x80
eax: 001e   ebx: c03e9a90   ecx:    edx: c0118720
esi: c03e9a68   edi: c03e9a90   ebp: c1273f44   esp: c1273f2c
ds: 007b   es: 007b   ss: 0068   preempt: 0001
Process ksoftirqd/0 (pid: 2, threadinfo=c1272000 task=cffed260)
Stack: c0387e66 c0389ef9 01a3  c03e9878 c1273f60 c1273f78 c0121bae 
   c03e9080 c03e98f0 002f  c1272000 c1273f60 c1273f60 c0112643 
   0005 c1272000  c1273fa0 c011d45a c04f3e28 c1272000 cffeff00 
Call Trace:
 [] show_stack+0x8f/0xb0 (28)
 [] show_registers+0x16a/0x1d0 (56)
 [] die+0xf6/0x190 (64)
 [] do_invalid_op+0xc1/0xd0 (204)
 [] error_code+0x2b/0x30 (84)
 [] run_timer_softirq+0x2ae/0x420 (52)
 [] ___do_softirq+0x9a/0x100 (40)
 [] _do_softirq+0x29/0x30 (8)
 [] ksoftirqd+0xb1/0x130 (20)
 [] kthread+0xaa/0xb0 (48)
 [] kernel_thread_helper+0x5/0x10 (1054392340)
---
| preempt count: 0002 ]
| 2-level deep critical section nesting:

.. []  die+0x43/0x190
.[] ..   ( <= do_invalid_op+0xc1/0xd0)
.. []  print_traces+0x1d/0x60
.[] ..   ( <= show_stack+0x8f/0xb0)

Code: 76 04 8b 45 10 83 c4 0c 5b 5e 5f 5d c3 c7 04 24 66 7e 38 c0 b8 a3 01 00 
00 89 44 24 08 b8 f9 9e 38 c0 89 44 24 04 e8 d3 6e ff ff <0f> 0b a3 01 f9 9e 38 
c0 eb b3 89 f6 8d bc 27 00 00 00 00 55 89 
 BUG: ksoftirqd/0/2, lock held at task exit time!
 [c03e9080] {>lock}
.. held by:   ksoftirqd/0:2 [cffed260, 106]
... acquired at:  run_timer_softirq+0x243/0x420


-- Steve



#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define __USE_GNU
#include 

#ifdef SDR_TOOLS
#include 
#include 
#include 
#include 
#include "dump_trace.h"
int logfd = -1;
#else
#define logdev_print(x...) do {} while(0)
#define logdev_switch_set(x) (0)
#endif

#include 


static int reader (int i);

typedef int (*callfunc_t)(int);

#define NR_PROCS 5
pid_t pids[NR_PROCS];
callfunc_t dofunc[NR_PROCS] = {
	reader,
	reader,
	reader,
	reader,
	reader
};

int priorities[NR_PROCS] = {
	10,
	11,
	12,
	13,
	14,
};

key_t key;
int semid = -1;
int shmid = -1;
int safe = 0;
int tod = 0;
int *flags;

void cleanup(void)
{
	int i;

	for (i=0; i < NR_PROCS; i++) {
		if (pids[i])
			kill(pids[i],SIGKILL);
	}

	if (semid >= 0)
		semctl(semid, 0, IPC_RMID);
	if (shmid >= 0)
		shmctl(shmid, IPC_RMID, NULL);
#ifdef SDR_TOOLS
	if (logfd >= 0)
		close_logdev(logfd);
#endif
}

void catchall(int sig)
{
	cleanup();
	psignal(sig,"Caught: ");
	exit(-1);
}

static int compare_timeval(const struct timeval *a, const struct timeval *b)
{
	return (a->tv_sec > b->tv_sec) ? 1 :
		(a->tv_sec < b->tv_sec) ? -1:
		(a->tv_usec > b->tv_usec) ? 1:
		(a->tv_usec < b->tv_usec) ? -1:
		0;
}

static void add_timeval(const struct timeval *a, const struct timeval *b, struct timeval *c)
{

	c->tv_usec = a->tv_usec + b->tv_usec;
	c->tv_sec = a->tv_sec + b->tv_sec;
	while (c->tv_usec > 100) {
		c->tv_usec -= 100;
		c->tv_sec++;
	}

}

static void sub_timeval(const struct timeval *a, const struct timeval *b, struct timeval *c)
{

	c->tv_usec = a->tv_usec - b->tv_usec;
	c->tv_sec = a->tv_sec - b->tv_sec;
	while (c->tv_usec < 0) {
		c->tv_usec += 

Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
Hi Ingo,

I've discovered a problem with basically all yields in the kernel. But
that's not why I'm writing you this. To see if your kernel has the same
problems as mine, I wrote a modified test that caused me the problems,
and ran it on your kernel. But too my surprise, this test caused other
problems. This modified test causes my kernel the same types of problems
too.

Attached is the test I ran. The list.h is just my version of the kernels
list functions for userspace. It's used in the test program. 

What the test program does, is spawn 5 processes, each with a different
priority. Starting with 10 and going to 14. All are SCHED_FIFO.  Each of
these processes just do a scan of all directories starting with the root
directory '/' and going down. I usually run this with a directory NFS
mounted too, but I don't think this was a problem.

Here's the bug I get:

Slab corruption: start=cfc45938, len=276
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [c0142b1d](mempool_free+0x9d/0xb0)
050: 68 9a 3e c0 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=cfc45818, len=276
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [c01426a8](mempool_create+0xe8/0x120)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=cfc45a58, len=276
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
BUG at kernel/timer.c:419!
[ cut here ]
kernel BUG at kernel/timer.c:419!
invalid operand:  [#1]
PREEMPT 
Modules linked in:
CPU:0
EIP:0060:[c012142d]Not tainted VLI
EFLAGS: 00010282   (2.6.12-rc1-RT-V0.7.43-06) 
EIP is at cascade+0x6d/0x80
eax: 001e   ebx: c03e9a90   ecx:    edx: c0118720
esi: c03e9a68   edi: c03e9a90   ebp: c1273f44   esp: c1273f2c
ds: 007b   es: 007b   ss: 0068   preempt: 0001
Process ksoftirqd/0 (pid: 2, threadinfo=c1272000 task=cffed260)
Stack: c0387e66 c0389ef9 01a3  c03e9878 c1273f60 c1273f78 c0121bae 
   c03e9080 c03e98f0 002f  c1272000 c1273f60 c1273f60 c0112643 
   0005 c1272000  c1273fa0 c011d45a c04f3e28 c1272000 cffeff00 
Call Trace:
 [c0103bef] show_stack+0x8f/0xb0 (28)
 [c0103daa] show_registers+0x16a/0x1d0 (56)
 [c0103fc6] die+0xf6/0x190 (64)
 [c01044e1] do_invalid_op+0xc1/0xd0 (204)
 [c010381b] error_code+0x2b/0x30 (84)
 [c0121bae] run_timer_softirq+0x2ae/0x420 (52)
 [c011d45a] ___do_softirq+0x9a/0x100 (40)
 [c011d579] _do_softirq+0x29/0x30 (8)
 [c011da41] ksoftirqd+0xb1/0x130 (20)
 [c012de1a] kthread+0xaa/0xb0 (48)
 [c0100e35] kernel_thread_helper+0x5/0x10 (1054392340)
---
| preempt count: 0002 ]
| 2-level deep critical section nesting:

.. [c0103f13]  die+0x43/0x190
.[c01044e1] ..   ( = do_invalid_op+0xc1/0xd0)
.. [c0137b8d]  print_traces+0x1d/0x60
.[c0103bef] ..   ( = show_stack+0x8f/0xb0)

Code: 76 04 8b 45 10 83 c4 0c 5b 5e 5f 5d c3 c7 04 24 66 7e 38 c0 b8 a3 01 00 
00 89 44 24 08 b8 f9 9e 38 c0 89 44 24 04 e8 d3 6e ff ff 0f 0b a3 01 f9 9e 38 
c0 eb b3 89 f6 8d bc 27 00 00 00 00 55 89 
 BUG: ksoftirqd/0/2, lock held at task exit time!
 [c03e9080] {base-lock}
.. held by:   ksoftirqd/0:2 [cffed260, 106]
... acquired at:  run_timer_softirq+0x243/0x420


-- Steve



#include stdio.h
#include stdlib.h
#include string.h
#include unistd.h
#include time.h
#include sys/sem.h
#include sys/shm.h
#include sys/time.h
#include sys/wait.h
#include sys/types.h
#include sys/stat.h
#include dirent.h
#include fcntl.h
#include signal.h
#include ctype.h
#include sched.h

#define __USE_GNU
#include sys/ipc.h

#ifdef SDR_TOOLS
#include dump_log.h
#include linux/logdev.h
#include dump_log.h
#include tracer_xml.h
#include dump_trace.h
int logfd = -1;
#else
#define logdev_print(x...) do {} while(0)
#define logdev_switch_set(x) (0)
#endif

#include list.h


static int reader (int i);

typedef int (*callfunc_t)(int);

#define NR_PROCS 5
pid_t pids[NR_PROCS];
callfunc_t dofunc[NR_PROCS] = {
	reader,
	reader,
	reader,
	reader,
	reader
};

int priorities[NR_PROCS] = {
	10,
	11,
	12,
	13,
	14,
};

key_t key;
int semid = -1;
int shmid = -1;
int safe = 0;
int tod = 0;
int *flags;

void cleanup(void)
{
	int i;

	for (i=0; i  NR_PROCS; i++) {
		if (pids[i])
			kill(pids[i],SIGKILL);
	}

	if (semid = 0)
		semctl(semid, 0, IPC_RMID);
	if (shmid = 0)
		shmctl(shmid, IPC_RMID, NULL);
#ifdef SDR_TOOLS
	if (logfd = 0)
		close_logdev(logfd);
#endif
}

void catchall(int sig)
{
	cleanup();
	psignal(sig,Caught: );
	exit(-1);
}

static int compare_timeval(const struct timeval *a, const struct timeval *b)
{
	return (a-tv_sec  b-tv_sec) ? 1 :
		(a-tv_sec  b-tv_sec) ? -1:
		(a-tv_usec  b-tv_usec) ? 1:
		(a-tv_usec  b-tv_usec) ? -1:
		0;
}

static void add_timeval(const struct timeval *a, const struct timeval *b, struct timeval *c)
{

	c-tv_usec = a-tv_usec + b-tv_usec;
	c-tv_sec = a-tv_sec + 

Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:

 Here's the bug I get:
 

FYI

For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a
Grub option), and the system just locked up hard.  I just was curious if
this was from a different change. But at least in the latest it shows
output, and not just a hard lockup.

Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.

-- Steve



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Lee Revell
On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
 What the test program does, is spawn 5 processes, each with a different
 priority. Starting with 10 and going to 14. All are SCHED_FIFO.  Each of
 these processes just do a scan of all directories starting with the root
 directory '/' and going down. I usually run this with a directory NFS
 mounted too, but I don't think this was a problem.

My knowledge of the kernel is still pretty limited, but it looks to me
like something corrupted the timer list.

Have you tried kdb?  Last time I checked it worked great with
PREEMPT_RT.

Lee

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Lee Revell
On Sat, 2005-04-02 at 15:06 -0500, Steven Rostedt wrote:
 On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
 
  Here's the bug I get:
  
 
 FYI
 
 For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a
 Grub option), and the system just locked up hard.  I just was curious if
 this was from a different change. But at least in the latest it shows
 output, and not just a hard lockup.

I had the same results yesterday, while punishing the swap by building
the kernel with make -j64 over NFS.  It thrashed wildly for 20 minutes
or so then eventually all disk activity stopped.  Of course that stupid
cow continued bouncing up and down...

It wasn't clear from your last mail whether you were using NFS.  If so I
would be suspicious given the NFS changes in the new RT patches.  I'll
try to reproduce the problem on a local fs.

Lee

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Ingo Molnar

* Steven Rostedt [EMAIL PROTECTED] wrote:

 On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
 
  Here's the bug I get:
  
 
 FYI
 
 For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
 Grub option), and the system just locked up hard.  I just was curious 
 if this was from a different change. But at least in the latest it 
 shows output, and not just a hard lockup.
 
 Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.

ok, so it's not the recent NFS changes.

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Ingo Molnar

* Lee Revell [EMAIL PROTECTED] wrote:

 It wasn't clear from your last mail whether you were using NFS.  If so 
 I would be suspicious given the NFS changes in the new RT patches.  
 I'll try to reproduce the problem on a local fs.

also, try to undo the fs/nfs/*.c and include/linux/*nfs*.h changes, 
those are latency breakers, so not strictly necessary.

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
 * Steven Rostedt [EMAIL PROTECTED] wrote:
 
  On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
  
   Here's the bug I get:
   
  
  FYI
  
  For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
  Grub option), and the system just locked up hard.  I just was curious 
  if this was from a different change. But at least in the latest it 
  shows output, and not just a hard lockup.
  
  Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
 
 ok, so it's not the recent NFS changes.
 

I may need to take this back. I forgot to open the serial, so it wasn't
accepting input. So it would just appear dead. And the console was
fighting against the RT tasks, so it too would seem to be dead.  I've
reran the test on the latest, but this time I didn't have the NFS
mounted, and it's still running.

-- Steve


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Steven Rostedt
On Sat, 2005-04-02 at 15:44 -0500, Steven Rostedt wrote:
 On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:

   
   FYI
   
   For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
   Grub option), and the system just locked up hard.  I just was curious 
   if this was from a different change. But at least in the latest it 
   shows output, and not just a hard lockup.
   
   Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
  
  ok, so it's not the recent NFS changes.
  
 
 I may need to take this back. I forgot to open the serial, so it wasn't
 accepting input. So it would just appear dead. And the console was
 fighting against the RT tasks, so it too would seem to be dead.  I've
 reran the test on the latest, but this time I didn't have the NFS
 mounted, and it's still running.
 

I tried the 2.6.12-rc1-RT-V0.7.43-06 kernel again, and I still have the
serial, to do sysrq. The console is using X which locks (even all the
ctrl-alt-X functions) and the ssh session that I run the test stops
after the processes try to grab the locks. It doesn't reply to ping. But
the sysrq from the serial shows constantly:

stest3_rt: 2269 [cf304690,  89] (not blocked)
stest3_rt: 2270 [cf304050,  88] (not blocked)
stest3_rt: 2271 [cef86cb0,  87] (not blocked)
stest3_rt: 2272 [cef86670,  86] (not blocked)
Rtest3_rt: 2273 [cf28a050,  85] (not blocked)


So it seems that it's in a deadlock somewhere. Since the 43-06 gets much
further, this seems to be another problem. I'm not going to look at this
problem anymore, since it doesn't show up in the lastest.

I'll run a few more tests to see if I can narrow things down on 43-06.

-- Steve

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Gene Heskett
On Saturday 02 April 2005 15:34, Ingo Molnar wrote:
* Lee Revell [EMAIL PROTECTED] wrote:
 It wasn't clear from your last mail whether you were using NFS. 
 If so I would be suspicious given the NFS changes in the new RT
 patches. I'll try to reproduce the problem on a local fs.

also, try to undo the fs/nfs/*.c and include/linux/*nfs*.h changes,
those are latency breakers, so not strictly necessary.

 Ingo
Hi Ingo;

I just got done rebooting to 43-06, had problems with my heyu
startup scripts again, but I finally found a missing  in one
of them, and I can have it recycle itself from the cli like it
used to again.

So far, with *all* the 'logit' switches turned on and in full
preempt mode, there's nothing unusual in the log.

Here goes tvtime from a cli:
Audio only, blue screen video, this in the log:
---
Apr  2 17:12:48 coyote kernel: cx88[0]: video y / packed - dma channel status 
dump
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: initial risc: 0x06b46000
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: cdt base: 0x00180440
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: cdt size: 0x000c
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq base : 0x00180400
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq size : 0x0010
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: risc pc : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq wr ptr   : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: iq rd ptr   : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: cdt current : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: pci target  : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   cmds: line / byte : 0x
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc0: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc1: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc2: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   risc3: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 0: 0x80008000 [ sync resync 
count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 1: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 2: 0x06922000 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 3: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 4: 0x06922a00 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 5: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 6: 0x2dc68400 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 7: 0x18000200 [ write sol 
count=512 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 8: 0x2dc68e00 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq 9: 0x14000300 [ write eol 
count=768 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq a: 0x2dc69000 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq b: 0x1c000500 [ write sol eol 
count=1280 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq c: 0x2dc69800 [ arg #1 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq d: 0x0031c040 [ INVALID 21 20 cnt0 
resync 14 count=64 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq e: 0x [ INVALID count=0 ]
Apr  2 17:12:48 coyote kernel: cx88[0]:   iq f: 0x0011 [ INVALID count=17 ]
Apr  2 17:12:48 coyote kernel: cx88[0]: fifo: 0x00180c00 - 0x183400
Apr  2 17:12:48 coyote kernel: cx88[0]: ctrl: 0x00180400 - 0x180460
Apr  2 17:12:48 coyote kernel: cx88[0]:   ptr1_reg: 0x00182118
Apr  2 17:12:48 coyote kernel: cx88[0]:   ptr2_reg: 0x00180488
Apr  2 17:12:48 coyote kernel: cx88[0]:   cnt1_reg: 0x0082
Apr  2 17:12:48 coyote kernel: cx88[0]:   cnt2_reg: 0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d4da5940/0] timeout - dma=0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d4da5d40/1] timeout - dma=0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d417d960/2] timeout - dma=0x
Apr  2 17:12:48 coyote kernel: cx88[0]/0: [d4da5540/3] timeout - dma=0x06b46000
Apr  2 17:12:49 coyote kernel: cx88[0]: video y / packed - dma channel status 
dump
[...]
followed by many repeats of the above as I let it run about
5-6 seconds.  On exit, this:
Apr  2 17:12:57 coyote kernel: rtc latency histogram of {tvtime/5717, 232 
samples}:
Apr  2 17:12:57 coyote kernel: 20 4
Apr  2 17:12:57 coyote kernel: 21 81
Apr  2 17:12:57 coyote kernel: 22 64
Apr  2 17:12:57 coyote kernel: 23 32
Apr  2 17:12:57 coyote kernel: 24 13
Apr  2 17:12:57 coyote kernel: 25 2
Apr  2 17:12:57 coyote kernel: 26 8
Apr  2 17:12:57 coyote kernel: 27 2
Apr  2 17:12:57 coyote kernel: 28 3
Apr  2 17:12:57 coyote kernel: 29 1
Apr  2 17:12:57 coyote kernel: 30 1
Apr  2 17:12:57 coyote kernel: 32 2
Apr  2 17:12:57 coyote kernel: 33 2
Apr  2 17:12:57 coyote kernel: 34 1
Apr  2 17:12:57 coyote kernel: 35 1
Apr  2 17:12:57 coyote kernel: 37 1
Apr  2 17:12:57 coyote kernel:  14

dma timeouts. I don't get these, and I do get good video under 

Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-02 Thread Lee Revell
On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
  For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a 
  Grub option), and the system just locked up hard.  I just was curious 
  if this was from a different change. But at least in the latest it 
  shows output, and not just a hard lockup.
  
  Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
 
 ok, so it's not the recent NFS changes.

Here's an interesting trace I got today.  It looks either the emu10k1 or
USB irq handler left IRQ 10 disabled.  This isn't a tracer bug because
you can clearly see this leads to an xrun.  Since I've been hacking the
emu10k1 driver quite a bit, I suspect this is the problem.

This trace also shows that my trigger callback for the emu10k1
multichannel device needs optimizing; it takes 300 usecs to stop all 16
voices, not acceptable for an ALSA irq handler which uses SA_INTERRUPT.
I think I can improve this significantly by reordering the register
settings and eliminating some function call overhead.

Lee


latency_trace.bz2
Description: application/bzip


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Gene Heskett <[EMAIL PROTECTED]> wrote:

> Apr  1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 
> product 0x/0x/0x
> Apr  1 18:05:24 coyote kernel:
> Apr  1 18:05:24 coyote kernel: ==
> Apr  1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
> Apr  1 18:05:24 coyote kernel: --
> Apr  1 18:05:24 coyote kernel: already locked:  [e4d17228] {(struct semaphore 
> *)(>complete_sem)}
> Apr  1 18:05:24 coyote kernel: .. held by:  kino: 6082 [e13ecbb0, 
> 118]
> Apr  1 18:05:24 coyote kernel: ... acquired at:  raw1394_read+0x104/0x110 
> [raw1394]

hm - does the patch below help? (or -43-06 which has the same patch)

Ingo

--- linux/drivers/ieee1394/raw1394-private.h.orig
+++ linux/drivers/ieee1394/raw1394-private.h
@@ -29,7 +29,7 @@ struct file_info {
 
 struct list_head req_pending;
 struct list_head req_complete;
-struct semaphore complete_sem;
+struct compat_semaphore complete_sem;
 spinlock_t reqlists_lock;
 wait_queue_head_t poll_wait_complete;
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 20:45, Lee Revell wrote:
>On Fri, 2005-04-01 at 18:34 -0500, Gene Heskett wrote:
>> No one has commented about the loss of video in the
>> tvtime/pcHDTV-3000 card situation, am I on my own, basicly
>> reverting to the
>> pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?
>
>You didn't really give much of a clue as to where to start looking.
>
>If you report a bug of the "hardware foo stopped working with kernel
>bar" type, and that's all the information you provide, the bug
> report is useless to anyone who does not have the exact same
> hardware.
>
>Lee

I did, in a previous incarnation of this thread 2-3 days ago, post the 
lsmod output and a section of the log showing (I believe) rampant dma 
failures.  It also didn't generate any comments.

FWIW, I have reinstalled the tarballs version of the drivers, but that 
was of no use, so its definitely something in the RT patch itself I 
believe.  2.6.12-rc1 works great.  By default.

As far as my being able to fix that, I'm afraid I'll have to plead 
NDI.  The last time I dealt with dma, was on an rca 1802 cpu, which 
had its own builtin dma controller that took care of everything but 
the pointer reload for the next 6 byte fetch, and which I used for 6 
bytes per field of video to feed a homebrewed character generator I 
made out of ttl chips, to generate the academy leader on a 
commercial.  The year was 1978.  A bit far back up the log for even 
me, altho I may still have a copy of the machine code I wrote that 
ran it at KRCR-TV in Redding CA for a decade that I know of, maybe 
longer.

That is neither here nor there now of course, just shining a light 
back up the calendar about 27 years for illustration.

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Lee Revell
On Fri, 2005-04-01 at 18:34 -0500, Gene Heskett wrote:
> No one has commented about the loss of video in the tvtime/pcHDTV-3000 
> card situation, am I on my own, basicly reverting to the 
> pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?

You didn't really give much of a clue as to where to start looking.  

If you report a bug of the "hardware foo stopped working with kernel
bar" type, and that's all the information you provide, the bug report is
useless to anyone who does not have the exact same hardware.

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 14:22, K.R. Foley wrote:
>Gene Heskett wrote:
>> On Friday 01 April 2005 13:27, K.R. Foley wrote:
>>>Gene Heskett wrote:
>>>
>>>
It was up to 43-04 by the time I got there.

This one didn't go in cleanly Ingo.  From my build-src scripts
output: ---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?
>>>
>>>Adding the attached patch on top of the above should resolve the
>>>failures, at least in the patching. Still working on building it.
>>
>> I assume you mean apply before the 43-04 patch?
>
>No actually I meant to apply it after the 43-04 patch. However, Ingo
> has a new patch that should cover this also.
>
>> I'll give it a go later today, right now I've got dirt to move in
>> the yard.

3 hrs later, rained out, or in as the case may be.  43-05 is building 
now, with lots of traceing turned on to see what sorts of grins I 
might get out of it.

No one has commented about the loss of video in the tvtime/pcHDTV-3000 
card situation, am I on my own, basicly reverting to the 
pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?

--

2 friggin hours later, I'm finally rebooted.  I start heyu in my
rc.local file by launching a series of scripts to set that all up,
and my cm-11a interface decided, for the first time in a couple
of years, to not talk to the 'heyu setclock' command.  Boot hung,
but not of course until I'd used up half the boots per fsck on
100GB of disks.  Grwwff.

Anyway, now lets see what works.
tvtime doesn't, even if I re-install the drivers from the pcHDTV-2.0
archive.  No video, just a blue screen, sound so-so.
kino works
xsane works
spcagui works

But, I did get some odd stuff in the logs while doing this as I had
a lot of traceing stuff turned on over and above the defaults:

Warning, this IS lengthy
---
Apr  1 18:05:13 coyote gconfd (root-5947): starting (version 2.6.0), pid 5947 
user 'root'
Apr  1 18:05:13 coyote gconfd (root-5947): Resolved address 
"xml:readonly:/etc/gconf/gconf.xml.mandatory" to a read-only config source at 
position 0
Apr  1 18:05:13 coyote gconfd (root-5947): Resolved address 
"xml:readwrite:/root/.gconf" to a writable config source at position 1
Apr  1 18:05:13 coyote gconfd (root-5947): Resolved address 
"xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only config source at 
position 2
Apr  1 18:05:19 coyote ieee1394.agent[6002]: ... no drivers for IEEE1394 
product 0x/0x/0x
Apr  1 18:05:20 coyote kernel: ieee1394: raw1394: /dev/raw1394 device 
initialized
Apr  1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 
product 0x/0x/0x
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: ==
Apr  1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
Apr  1 18:05:24 coyote kernel: --
Apr  1 18:05:24 coyote kernel: already locked:  [e4d17228] {(struct semaphore 
*)(>complete_sem)}
Apr  1 18:05:24 coyote kernel: .. held by:  kino: 6082 [e13ecbb0, 
118]
Apr  1 18:05:24 coyote kernel: ... acquired at:  raw1394_read+0x104/0x110 
[raw1394]
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: --
Apr  1 18:05:24 coyote kernel: | showing all locks held by: |  (kino/6082 
[e13ecbb0, 118]):
Apr  1 18:05:24 coyote kernel: --
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: #001: [e4d17228] {(struct semaphore 
*)(>complete_sem)}
Apr  1 18:05:24 coyote kernel: ... acquired at:  raw1394_read+0x104/0x110 
[raw1394]
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: -{current task's backtrace}->
Apr  1 18:05:24 coyote kernel:  [] dump_stack+0x23/0x30 (20)
Apr  1 18:05:24 coyote kernel:  [] check_deadlock+0x2fe/0x320 (44)
Apr  1 18:05:24 coyote kernel:  [] task_blocks_on_lock+0x37/0xf0 (36)
Apr  1 18:05:24 coyote kernel:  [] __down_interruptible+0x257/0x4f0 
(88)
Apr  1 18:05:24 coyote kernel:  [] rt_down_interruptible+0xba/0x1f0 
(48)
Apr  1 18:05:24 coyote kernel:  [] raw1394_read+0x104/0x110 [raw1394] 
(32)
Apr  1 18:05:24 coyote kernel:  [] vfs_read+0xcd/0x140 (36)
Apr  1 18:05:24 coyote kernel:  [] sys_read+0x50/0x80 (44)
Apr  1 18:05:24 coyote kernel:  [] sysenter_past_esp+0x61/0x89 (-4028)
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: showing all tasks:
Apr  1 18:05:24 coyote kernel: Sinit:1 

Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela
>
>> >> needs unknown symbol __compat_down_failed_interruptible
>>
>> Nope. Same error output as last report.
>
> does -43-04 work for you?
>

RT-V0.7.43-05 is now working for me. No quirks so far, on the UP laptop.
Building now for the SMP/HT desktop.

Cheers.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread K.R. Foley
Gene Heskett wrote:
On Friday 01 April 2005 13:27, K.R. Foley wrote:
Gene Heskett wrote:

It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo.  From my build-src scripts
output: ---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?
Adding the attached patch on top of the above should resolve the
failures, at least in the patching. Still working on building it.

I assume you mean apply before the 43-04 patch?
No actually I meant to apply it after the 43-04 patch. However, Ingo has 
a new patch that should cover this also.

I'll give it a go later today, right now I've got dirt to move in the 
yard.


--
   kr
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 13:29, Ingo Molnar wrote:
>* K.R. Foley <[EMAIL PROTECTED]> wrote:
>> >This one didn't go in cleanly Ingo.  From my build-src scripts
>> > output: ---
>> >Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
>>
>> Adding the attached patch on top of the above should resolve the
>> failures, at least in the patching. Still working on building it.
>
>i fixed these things up in -43-05 ... i hope :-|
>
> Ingo

Ok, I'll try that later today too.  Got dirt to move in the yard, 
decent weather for a change & the old farts gotta get his 
exersize :-)

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 13:27, K.R. Foley wrote:
>Gene Heskett wrote:
>
>
>> It was up to 43-04 by the time I got there.
>>
>> This one didn't go in cleanly Ingo.  From my build-src scripts
>> output: ---
>> Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
>> [...]
>> patching file lib/rwsem-spinlock.c
>> Hunk #5 FAILED at 133.
>> Hunk #6 FAILED at 160.
>> Hunk #7 FAILED at 179.
>> Hunk #8 FAILED at 194.
>> Hunk #9 FAILED at 204.
>> Hunk #10 FAILED at 231.
>> Hunk #11 FAILED at 250.
>> Hunk #12 FAILED at 265.
>> Hunk #13 FAILED at 274.
>> Hunk #14 FAILED at 293.
>> Hunk #15 FAILED at 314.
>> 11 out of 15 hunks FAILED -- saving rejects to file
>> lib/rwsem-spinlock.c.rej
>> ---
>> I doubt it would run, so I haven't built it.  Should I?
>
>Adding the attached patch on top of the above should resolve the
>failures, at least in the patching. Still working on building it.

I assume you mean apply before the 43-04 patch?

I'll give it a go later today, right now I've got dirt to move in the 
yard.

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread K.R. Foley
Gene Heskett wrote:

It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo.  From my build-src scripts output:
---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file 
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?

Adding the attached patch on top of the above should resolve the 
failures, at least in the patching. Still working on building it.

--
   kr
--- linux-2.6.12/lib/rwsem-spinlock.c.orig	2005-04-01 12:00:21.0 -0600
+++ linux-2.6.12/lib/rwsem-spinlock.c	2005-04-01 12:19:06.0 -0600
@@ -18,7 +18,7 @@ struct rwsem_waiter {
 };
 
 #if RWSEM_DEBUG
-void rwsemtrace(struct rw_semaphore *sem, const char *str)
+void rwsemtrace(struct compat_rw_semaphore *sem, const char *str)
 {
 	if (sem->debug)
 		printk("[%d] %s({%d,%d})\n",
@@ -30,7 +30,7 @@ void rwsemtrace(struct rw_semaphore *sem
 /*
  * initialise the semaphore
  */
-void fastcall init_rwsem(struct rw_semaphore *sem)
+void fastcall compat_init_rwsem(struct compat_rw_semaphore *sem)
 {
 	sem->activity = 0;
 	spin_lock_init(>wait_lock);
@@ -49,8 +49,8 @@ void fastcall init_rwsem(struct rw_semap
  * - woken process blocks are discarded from the list after having task zeroed
  * - writers are only woken if wakewrite is non-zero
  */
-static inline struct rw_semaphore *
-__rwsem_do_wake(struct rw_semaphore *sem, int wakewrite)
+static inline struct compat_rw_semaphore *
+__rwsem_do_wake(struct compat_rw_semaphore *sem, int wakewrite)
 {
 	struct rwsem_waiter *waiter;
 	struct task_struct *tsk;
@@ -111,8 +111,8 @@ __rwsem_do_wake(struct rw_semaphore *sem
 /*
  * wake a single writer
  */
-static inline struct rw_semaphore *
-__rwsem_wake_one_writer(struct rw_semaphore *sem)
+static inline struct compat_rw_semaphore *
+__rwsem_wake_one_writer(struct compat_rw_semaphore *sem)
 {
 	struct rwsem_waiter *waiter;
 	struct task_struct *tsk;
@@ -133,7 +133,8 @@ __rwsem_wake_one_writer(struct rw_semaph
 /*
  * get a read lock on the semaphore
  */
-void fastcall __sched __down_read(struct rw_semaphore *sem)
+void fastcall __sched __down_read(struct compat_rw_semaphore *sem)
+
 {
 	struct rwsem_waiter waiter;
 	struct task_struct *tsk;
@@ -179,7 +180,8 @@ void fastcall __sched __down_read(struct
 /*
  * trylock for reading -- returns 1 if successful, 0 if contention
  */
-int fastcall __down_read_trylock(struct rw_semaphore *sem)
+int fastcall __down_read_trylock(struct compat_rw_semaphore *sem)
+
 {
 	unsigned long flags;
 	int ret = 0;
@@ -204,7 +206,8 @@ int fastcall __down_read_trylock(struct 
  * get a write lock on the semaphore
  * - we increment the waiting count anyway to indicate an exclusive lock
  */
-void fastcall __sched __down_write(struct rw_semaphore *sem)
+void fastcall __sched __down_write(struct compat_rw_semaphore *sem)
+
 {
 	struct rwsem_waiter waiter;
 	struct task_struct *tsk;
@@ -250,7 +253,8 @@ void fastcall __sched __down_write(struc
 /*
  * trylock for writing -- returns 1 if successful, 0 if contention
  */
-int fastcall __down_write_trylock(struct rw_semaphore *sem)
+int fastcall __down_write_trylock(struct compat_rw_semaphore *sem)
+
 {
 	unsigned long flags;
 	int ret = 0;
@@ -274,7 +278,8 @@ int fastcall __down_write_trylock(struct
 /*
  * release a read lock on the semaphore
  */
-void fastcall __up_read(struct rw_semaphore *sem)
+void fastcall __up_read(struct compat_rw_semaphore *sem)
+
 {
 	unsigned long flags;
 
@@ -293,7 +298,7 @@ void fastcall __up_read(struct rw_semaph
 /*
  * release a write lock on the semaphore
  */
-void fastcall __up_write(struct rw_semaphore *sem)
+void fastcall __up_write(struct compat_rw_semaphore *sem)
 {
 	unsigned long flags;
 
@@ -314,7 +319,7 @@ void fastcall __up_write(struct rw_semap
  * downgrade a write lock into a read lock
  * - just wake up any readers at the front of the queue
  */
-void fastcall __downgrade_write(struct rw_semaphore *sem)
+void fastcall __downgrade_write(struct compat_rw_semaphore *sem)
 {
 	unsigned long flags;
 
@@ -331,7 +336,7 @@ void fastcall __downgrade_write(struct r
 	rwsemtrace(sem, "Leaving __downgrade_write");
 }
 
-EXPORT_SYMBOL(init_rwsem);
+EXPORT_SYMBOL(compat_init_rwsem);
 EXPORT_SYMBOL(__down_read);
 EXPORT_SYMBOL(__down_read_trylock);
 EXPORT_SYMBOL(__down_write);


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* K.R. Foley <[EMAIL PROTECTED]> wrote:

> >This one didn't go in cleanly Ingo.  From my build-src scripts output:
> >---
> >Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04

> Adding the attached patch on top of the above should resolve the 
> failures, at least in the patching. Still working on building it.

i fixed these things up in -43-05 ... i hope :-|

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 05:47, Ingo Molnar wrote:
>i have released the -V0.7.43-00 Real-Time Preemption patch, which
> can be downloaded from the usual place:
>
>  http://redhat.com/~mingo/realtime-preempt/
>
>this release too is a step towards more robustness. I found a bug
> that caused an infinite recursion and subsequent spontaneous
> reboot. The bug was once again related to lock->debug locks, so i
> decided to get rid of them altogether: from now on every lock in
> the -RT domain is debugged.
>
>To be able to use code that relies on incompatible properties of
> stock Linux semaphores (and rwsems), i've added a new compile-time
> semaphore-type mechanism that enables the easy switching from RT
> semaphores to stock semaphores. I've done this conversion for all
> subsystems that needed it - e.g. XFS, firewire, USB and SCSI. XFS
> seems to be working much better with this approach - BYMMV.
>
>but an unavoidable side-effect is that the whole codebase got turned
>upside down once again, so be careful and expect a few rough edges. 
> In particular keep an eye on new compile-time warnings related to
> semaphores - code that gives a warning might build but it will
> almost certainly not work.
>
>to create a -V0.7.43-00 tree from scratch, the patching order is:
>
>  http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2

I use the .gz, more reliable unpacks

> http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc1.bz
>2

Again I use the .gz

> http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-r
>c1-V0.7.43-00
>
> Ingo

It was up to 43-04 by the time I got there.

This one didn't go in cleanly Ingo.  From my build-src scripts output:
---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file 
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Rui Nuno Capela <[EMAIL PROTECTED]> wrote:

> >> needs unknown symbol __compat_down_failed_interruptible
> 
> Nope. Same error output as last report.

does -43-04 work for you?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela
> * Rui Nuno Capela wrote:
>
>> > thx - i've uploaded -43-01 which should fix this.
>> >
>>
>> Now it's dying-on-the-beach:
>
>> needs unknown symbol __compat_down_failed_interruptible
>
> ok - does -43-02 work any better?
>

Nope. Same error output as last report.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Rui Nuno Capela <[EMAIL PROTECTED]> wrote:

> > thx - i've uploaded -43-01 which should fix this.
> >
> 
> Now it's dying-on-the-beach:

> needs unknown symbol __compat_down_failed_interruptible

ok - does -43-02 work any better?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela
>
> thx - i've uploaded -43-01 which should fix this.
>

Now it's dying-on-the-beach:
.
.
.
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F
System.map  2.6.12-rc1-RT-V0.7.43-01.0; fi
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/usb/storage/usb-storage.ko
needs unknown symbol __compat_down_failed_interruptible
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/usb/storage/usb-storage.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/parport/parport.ko
needs unknown symbol __compat_down_failed_interruptible
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/parport/parport.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/net/ppp_async.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/net/ppp_async.ko
needs unknown symbol __compat_down_failed
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_down_failed_trylock
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_down_failed_interruptible
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_down_failed
make: *** [_modinst_post] Error 1

Bye.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Rui Nuno Capela <[EMAIL PROTECTED]> wrote:

> > i have released the -V0.7.43-00 Real-Time Preemption patch, which can be
> > downloaded from the usual place:
> >
> 
> RT-V0.7.43-00 is failing to build here:

> kernel/rt.c:1435: error: `up_read' undeclared here (not in a function)
> kernel/rt.c:1435: error: initializer element is not constant
> kernel/rt.c:1435: error: (near initialization for `__ksymtab_up_read.value')
> kernel/rt.c:1435: error: __ksymtab_up_read causes a section type conflict
> make[1]: *** [kernel/rt.o] Error 1

thx - i've uploaded -43-01 which should fix this.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela
>
> i have released the -V0.7.43-00 Real-Time Preemption patch, which can be
> downloaded from the usual place:
>

RT-V0.7.43-00 is failing to build here:
  .
  .
  .
  CC  kernel/rcupdate.o
  CC  kernel/intermodule.o
kernel/intermodule.c:179: warning: `inter_module_register' is deprecated
(declar
ed at kernel/intermodule.c:38)
kernel/intermodule.c:180: warning: `inter_module_unregister' is deprecated
(decl
ared at kernel/intermodule.c:79)
kernel/intermodule.c:182: warning: `inter_module_put' is deprecated
(declared at
 kernel/intermodule.c:160)
  CC  kernel/extable.o
  CC  kernel/params.o
  CC  kernel/posix-timers.o
  CC  kernel/kthread.o
  CC  kernel/wait.o
  CC  kernel/kfifo.o
  CC  kernel/sys_ni.o
  CC  kernel/posix-cpu-timers.o
  CC  kernel/rt.o
kernel/rt.c:1435: error: `up_read' undeclared here (not in a function)
kernel/rt.c:1435: error: initializer element is not constant
kernel/rt.c:1435: error: (near initialization for `__ksymtab_up_read.value')
kernel/rt.c:1435: error: __ksymtab_up_read causes a section type conflict
make[1]: *** [kernel/rt.o] Error 1
make: *** [kernel] Error 2

Bye.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela

 i have released the -V0.7.43-00 Real-Time Preemption patch, which can be
 downloaded from the usual place:


RT-V0.7.43-00 is failing to build here:
  .
  .
  .
  CC  kernel/rcupdate.o
  CC  kernel/intermodule.o
kernel/intermodule.c:179: warning: `inter_module_register' is deprecated
(declar
ed at kernel/intermodule.c:38)
kernel/intermodule.c:180: warning: `inter_module_unregister' is deprecated
(decl
ared at kernel/intermodule.c:79)
kernel/intermodule.c:182: warning: `inter_module_put' is deprecated
(declared at
 kernel/intermodule.c:160)
  CC  kernel/extable.o
  CC  kernel/params.o
  CC  kernel/posix-timers.o
  CC  kernel/kthread.o
  CC  kernel/wait.o
  CC  kernel/kfifo.o
  CC  kernel/sys_ni.o
  CC  kernel/posix-cpu-timers.o
  CC  kernel/rt.o
kernel/rt.c:1435: error: `up_read' undeclared here (not in a function)
kernel/rt.c:1435: error: initializer element is not constant
kernel/rt.c:1435: error: (near initialization for `__ksymtab_up_read.value')
kernel/rt.c:1435: error: __ksymtab_up_read causes a section type conflict
make[1]: *** [kernel/rt.o] Error 1
make: *** [kernel] Error 2

Bye.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Rui Nuno Capela [EMAIL PROTECTED] wrote:

  i have released the -V0.7.43-00 Real-Time Preemption patch, which can be
  downloaded from the usual place:
 
 
 RT-V0.7.43-00 is failing to build here:

 kernel/rt.c:1435: error: `up_read' undeclared here (not in a function)
 kernel/rt.c:1435: error: initializer element is not constant
 kernel/rt.c:1435: error: (near initialization for `__ksymtab_up_read.value')
 kernel/rt.c:1435: error: __ksymtab_up_read causes a section type conflict
 make[1]: *** [kernel/rt.o] Error 1

thx - i've uploaded -43-01 which should fix this.

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela

 thx - i've uploaded -43-01 which should fix this.


Now it's dying-on-the-beach:
.
.
.
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F
System.map  2.6.12-rc1-RT-V0.7.43-01.0; fi
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/usb/storage/usb-storage.ko
needs unknown symbol __compat_down_failed_interruptible
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/usb/storage/usb-storage.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/parport/parport.ko
needs unknown symbol __compat_down_failed_interruptible
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/parport/parport.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/net/ppp_async.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/net/ppp_async.ko
needs unknown symbol __compat_down_failed
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_down_failed_trylock
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_down_failed_interruptible
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_up_wakeup
WARNING:
/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko
needs unknown symbol __compat_down_failed
make: *** [_modinst_post] Error 1

Bye.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Rui Nuno Capela [EMAIL PROTECTED] wrote:

  thx - i've uploaded -43-01 which should fix this.
 
 
 Now it's dying-on-the-beach:

 needs unknown symbol __compat_down_failed_interruptible

ok - does -43-02 work any better?

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela
 * Rui Nuno Capela wrote:

  thx - i've uploaded -43-01 which should fix this.
 

 Now it's dying-on-the-beach:

 needs unknown symbol __compat_down_failed_interruptible

 ok - does -43-02 work any better?


Nope. Same error output as last report.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Rui Nuno Capela [EMAIL PROTECTED] wrote:

  needs unknown symbol __compat_down_failed_interruptible
 
 Nope. Same error output as last report.

does -43-04 work for you?

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 05:47, Ingo Molnar wrote:
i have released the -V0.7.43-00 Real-Time Preemption patch, which
 can be downloaded from the usual place:

  http://redhat.com/~mingo/realtime-preempt/

this release too is a step towards more robustness. I found a bug
 that caused an infinite recursion and subsequent spontaneous
 reboot. The bug was once again related to lock-debug locks, so i
 decided to get rid of them altogether: from now on every lock in
 the -RT domain is debugged.

To be able to use code that relies on incompatible properties of
 stock Linux semaphores (and rwsems), i've added a new compile-time
 semaphore-type mechanism that enables the easy switching from RT
 semaphores to stock semaphores. I've done this conversion for all
 subsystems that needed it - e.g. XFS, firewire, USB and SCSI. XFS
 seems to be working much better with this approach - BYMMV.

but an unavoidable side-effect is that the whole codebase got turned
upside down once again, so be careful and expect a few rough edges. 
 In particular keep an eye on new compile-time warnings related to
 semaphores - code that gives a warning might build but it will
 almost certainly not work.

to create a -V0.7.43-00 tree from scratch, the patching order is:

  http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2

I use the .gz, more reliable unpacks

 http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc1.bz
2

Again I use the .gz

 http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-r
c1-V0.7.43-00

 Ingo

It was up to 43-04 by the time I got there.

This one didn't go in cleanly Ingo.  From my build-src scripts output:
---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file 
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?

-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* K.R. Foley [EMAIL PROTECTED] wrote:

 This one didn't go in cleanly Ingo.  From my build-src scripts output:
 ---
 Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04

 Adding the attached patch on top of the above should resolve the 
 failures, at least in the patching. Still working on building it.

i fixed these things up in -43-05 ... i hope :-|

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread K.R. Foley
Gene Heskett wrote:
snip
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo.  From my build-src scripts output:
---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file 
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?

Adding the attached patch on top of the above should resolve the 
failures, at least in the patching. Still working on building it.

--
   kr
--- linux-2.6.12/lib/rwsem-spinlock.c.orig	2005-04-01 12:00:21.0 -0600
+++ linux-2.6.12/lib/rwsem-spinlock.c	2005-04-01 12:19:06.0 -0600
@@ -18,7 +18,7 @@ struct rwsem_waiter {
 };
 
 #if RWSEM_DEBUG
-void rwsemtrace(struct rw_semaphore *sem, const char *str)
+void rwsemtrace(struct compat_rw_semaphore *sem, const char *str)
 {
 	if (sem-debug)
 		printk([%d] %s({%d,%d})\n,
@@ -30,7 +30,7 @@ void rwsemtrace(struct rw_semaphore *sem
 /*
  * initialise the semaphore
  */
-void fastcall init_rwsem(struct rw_semaphore *sem)
+void fastcall compat_init_rwsem(struct compat_rw_semaphore *sem)
 {
 	sem-activity = 0;
 	spin_lock_init(sem-wait_lock);
@@ -49,8 +49,8 @@ void fastcall init_rwsem(struct rw_semap
  * - woken process blocks are discarded from the list after having task zeroed
  * - writers are only woken if wakewrite is non-zero
  */
-static inline struct rw_semaphore *
-__rwsem_do_wake(struct rw_semaphore *sem, int wakewrite)
+static inline struct compat_rw_semaphore *
+__rwsem_do_wake(struct compat_rw_semaphore *sem, int wakewrite)
 {
 	struct rwsem_waiter *waiter;
 	struct task_struct *tsk;
@@ -111,8 +111,8 @@ __rwsem_do_wake(struct rw_semaphore *sem
 /*
  * wake a single writer
  */
-static inline struct rw_semaphore *
-__rwsem_wake_one_writer(struct rw_semaphore *sem)
+static inline struct compat_rw_semaphore *
+__rwsem_wake_one_writer(struct compat_rw_semaphore *sem)
 {
 	struct rwsem_waiter *waiter;
 	struct task_struct *tsk;
@@ -133,7 +133,8 @@ __rwsem_wake_one_writer(struct rw_semaph
 /*
  * get a read lock on the semaphore
  */
-void fastcall __sched __down_read(struct rw_semaphore *sem)
+void fastcall __sched __down_read(struct compat_rw_semaphore *sem)
+
 {
 	struct rwsem_waiter waiter;
 	struct task_struct *tsk;
@@ -179,7 +180,8 @@ void fastcall __sched __down_read(struct
 /*
  * trylock for reading -- returns 1 if successful, 0 if contention
  */
-int fastcall __down_read_trylock(struct rw_semaphore *sem)
+int fastcall __down_read_trylock(struct compat_rw_semaphore *sem)
+
 {
 	unsigned long flags;
 	int ret = 0;
@@ -204,7 +206,8 @@ int fastcall __down_read_trylock(struct 
  * get a write lock on the semaphore
  * - we increment the waiting count anyway to indicate an exclusive lock
  */
-void fastcall __sched __down_write(struct rw_semaphore *sem)
+void fastcall __sched __down_write(struct compat_rw_semaphore *sem)
+
 {
 	struct rwsem_waiter waiter;
 	struct task_struct *tsk;
@@ -250,7 +253,8 @@ void fastcall __sched __down_write(struc
 /*
  * trylock for writing -- returns 1 if successful, 0 if contention
  */
-int fastcall __down_write_trylock(struct rw_semaphore *sem)
+int fastcall __down_write_trylock(struct compat_rw_semaphore *sem)
+
 {
 	unsigned long flags;
 	int ret = 0;
@@ -274,7 +278,8 @@ int fastcall __down_write_trylock(struct
 /*
  * release a read lock on the semaphore
  */
-void fastcall __up_read(struct rw_semaphore *sem)
+void fastcall __up_read(struct compat_rw_semaphore *sem)
+
 {
 	unsigned long flags;
 
@@ -293,7 +298,7 @@ void fastcall __up_read(struct rw_semaph
 /*
  * release a write lock on the semaphore
  */
-void fastcall __up_write(struct rw_semaphore *sem)
+void fastcall __up_write(struct compat_rw_semaphore *sem)
 {
 	unsigned long flags;
 
@@ -314,7 +319,7 @@ void fastcall __up_write(struct rw_semap
  * downgrade a write lock into a read lock
  * - just wake up any readers at the front of the queue
  */
-void fastcall __downgrade_write(struct rw_semaphore *sem)
+void fastcall __downgrade_write(struct compat_rw_semaphore *sem)
 {
 	unsigned long flags;
 
@@ -331,7 +336,7 @@ void fastcall __downgrade_write(struct r
 	rwsemtrace(sem, Leaving __downgrade_write);
 }
 
-EXPORT_SYMBOL(init_rwsem);
+EXPORT_SYMBOL(compat_init_rwsem);
 EXPORT_SYMBOL(__down_read);
 EXPORT_SYMBOL(__down_read_trylock);
 EXPORT_SYMBOL(__down_write);


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 13:27, K.R. Foley wrote:
Gene Heskett wrote:
snip

 It was up to 43-04 by the time I got there.

 This one didn't go in cleanly Ingo.  From my build-src scripts
 output: ---
 Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
 [...]
 patching file lib/rwsem-spinlock.c
 Hunk #5 FAILED at 133.
 Hunk #6 FAILED at 160.
 Hunk #7 FAILED at 179.
 Hunk #8 FAILED at 194.
 Hunk #9 FAILED at 204.
 Hunk #10 FAILED at 231.
 Hunk #11 FAILED at 250.
 Hunk #12 FAILED at 265.
 Hunk #13 FAILED at 274.
 Hunk #14 FAILED at 293.
 Hunk #15 FAILED at 314.
 11 out of 15 hunks FAILED -- saving rejects to file
 lib/rwsem-spinlock.c.rej
 ---
 I doubt it would run, so I haven't built it.  Should I?

Adding the attached patch on top of the above should resolve the
failures, at least in the patching. Still working on building it.

I assume you mean apply before the 43-04 patch?

I'll give it a go later today, right now I've got dirt to move in the 
yard.

-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 13:29, Ingo Molnar wrote:
* K.R. Foley [EMAIL PROTECTED] wrote:
 This one didn't go in cleanly Ingo.  From my build-src scripts
  output: ---
 Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04

 Adding the attached patch on top of the above should resolve the
 failures, at least in the patching. Still working on building it.

i fixed these things up in -43-05 ... i hope :-|

 Ingo

Ok, I'll try that later today too.  Got dirt to move in the yard, 
decent weather for a change  the old farts gotta get his 
exersize :-)

-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread K.R. Foley
Gene Heskett wrote:
On Friday 01 April 2005 13:27, K.R. Foley wrote:
Gene Heskett wrote:
snip
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo.  From my build-src scripts
output: ---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?
Adding the attached patch on top of the above should resolve the
failures, at least in the patching. Still working on building it.

I assume you mean apply before the 43-04 patch?
No actually I meant to apply it after the 43-04 patch. However, Ingo has 
a new patch that should cover this also.

I'll give it a go later today, right now I've got dirt to move in the 
yard.


--
   kr
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Rui Nuno Capela

  needs unknown symbol __compat_down_failed_interruptible

 Nope. Same error output as last report.

 does -43-04 work for you?


RT-V0.7.43-05 is now working for me. No quirks so far, on the UP laptop.
Building now for the SMP/HT desktop.

Cheers.
-- 
rncbc aka Rui Nuno Capela
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 14:22, K.R. Foley wrote:
Gene Heskett wrote:
 On Friday 01 April 2005 13:27, K.R. Foley wrote:
Gene Heskett wrote:
snip

It was up to 43-04 by the time I got there.

This one didn't go in cleanly Ingo.  From my build-src scripts
output: ---
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file
lib/rwsem-spinlock.c.rej
---
I doubt it would run, so I haven't built it.  Should I?

Adding the attached patch on top of the above should resolve the
failures, at least in the patching. Still working on building it.

 I assume you mean apply before the 43-04 patch?

No actually I meant to apply it after the 43-04 patch. However, Ingo
 has a new patch that should cover this also.

 I'll give it a go later today, right now I've got dirt to move in
 the yard.

3 hrs later, rained out, or in as the case may be.  43-05 is building 
now, with lots of traceing turned on to see what sorts of grins I 
might get out of it.

No one has commented about the loss of video in the tvtime/pcHDTV-3000 
card situation, am I on my own, basicly reverting to the 
pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?

--

2 friggin hours later, I'm finally rebooted.  I start heyu in my
rc.local file by launching a series of scripts to set that all up,
and my cm-11a interface decided, for the first time in a couple
of years, to not talk to the 'heyu setclock' command.  Boot hung,
but not of course until I'd used up half the boots per fsck on
100GB of disks.  Grwwff.

Anyway, now lets see what works.
tvtime doesn't, even if I re-install the drivers from the pcHDTV-2.0
archive.  No video, just a blue screen, sound so-so.
kino works
xsane works
spcagui works

But, I did get some odd stuff in the logs while doing this as I had
a lot of traceing stuff turned on over and above the defaults:

Warning, this IS lengthy
---
Apr  1 18:05:13 coyote gconfd (root-5947): starting (version 2.6.0), pid 5947 
user 'root'
Apr  1 18:05:13 coyote gconfd (root-5947): Resolved address 
xml:readonly:/etc/gconf/gconf.xml.mandatory to a read-only config source at 
position 0
Apr  1 18:05:13 coyote gconfd (root-5947): Resolved address 
xml:readwrite:/root/.gconf to a writable config source at position 1
Apr  1 18:05:13 coyote gconfd (root-5947): Resolved address 
xml:readonly:/etc/gconf/gconf.xml.defaults to a read-only config source at 
position 2
Apr  1 18:05:19 coyote ieee1394.agent[6002]: ... no drivers for IEEE1394 
product 0x/0x/0x
Apr  1 18:05:20 coyote kernel: ieee1394: raw1394: /dev/raw1394 device 
initialized
Apr  1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 
product 0x/0x/0x
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: ==
Apr  1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
Apr  1 18:05:24 coyote kernel: --
Apr  1 18:05:24 coyote kernel: already locked:  [e4d17228] {(struct semaphore 
*)(fi-complete_sem)}
Apr  1 18:05:24 coyote kernel: .. held by:  kino: 6082 [e13ecbb0, 
118]
Apr  1 18:05:24 coyote kernel: ... acquired at:  raw1394_read+0x104/0x110 
[raw1394]
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: --
Apr  1 18:05:24 coyote kernel: | showing all locks held by: |  (kino/6082 
[e13ecbb0, 118]):
Apr  1 18:05:24 coyote kernel: --
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: #001: [e4d17228] {(struct semaphore 
*)(fi-complete_sem)}
Apr  1 18:05:24 coyote kernel: ... acquired at:  raw1394_read+0x104/0x110 
[raw1394]
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: -{current task's backtrace}-
Apr  1 18:05:24 coyote kernel:  [c0103353] dump_stack+0x23/0x30 (20)
Apr  1 18:05:24 coyote kernel:  [c013093e] check_deadlock+0x2fe/0x320 (44)
Apr  1 18:05:24 coyote kernel:  [c01313b7] task_blocks_on_lock+0x37/0xf0 (36)
Apr  1 18:05:24 coyote kernel:  [c0374987] __down_interruptible+0x257/0x4f0 
(88)
Apr  1 18:05:24 coyote kernel:  [c0132cba] rt_down_interruptible+0xba/0x1f0 
(48)
Apr  1 18:05:24 coyote kernel:  [f8c9d8f4] raw1394_read+0x104/0x110 [raw1394] 
(32)
Apr  1 18:05:24 coyote kernel:  [c015d45d] vfs_read+0xcd/0x140 (36)
Apr  1 18:05:24 coyote kernel:  [c015d750] sys_read+0x50/0x80 (44)
Apr  1 18:05:24 coyote kernel:  [c0102cf8] sysenter_past_esp+0x61/0x89 (-4028)
Apr  1 18:05:24 coyote kernel:
Apr  1 18:05:24 coyote kernel: showing all tasks:
Apr  1 18:05:24 coyote kernel: Sinit:1 [c190d670, 116] (not 
blocked)
Apr  1 18:05:24 

Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Lee Revell
On Fri, 2005-04-01 at 18:34 -0500, Gene Heskett wrote:
 No one has commented about the loss of video in the tvtime/pcHDTV-3000 
 card situation, am I on my own, basicly reverting to the 
 pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?

You didn't really give much of a clue as to where to start looking.  

If you report a bug of the hardware foo stopped working with kernel
bar type, and that's all the information you provide, the bug report is
useless to anyone who does not have the exact same hardware.

Lee

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Gene Heskett
On Friday 01 April 2005 20:45, Lee Revell wrote:
On Fri, 2005-04-01 at 18:34 -0500, Gene Heskett wrote:
 No one has commented about the loss of video in the
 tvtime/pcHDTV-3000 card situation, am I on my own, basicly
 reverting to the
 pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?

You didn't really give much of a clue as to where to start looking.

If you report a bug of the hardware foo stopped working with kernel
bar type, and that's all the information you provide, the bug
 report is useless to anyone who does not have the exact same
 hardware.

Lee

I did, in a previous incarnation of this thread 2-3 days ago, post the 
lsmod output and a section of the log showing (I believe) rampant dma 
failures.  It also didn't generate any comments.

FWIW, I have reinstalled the tarballs version of the drivers, but that 
was of no use, so its definitely something in the RT patch itself I 
believe.  2.6.12-rc1 works great.  By default.

As far as my being able to fix that, I'm afraid I'll have to plead 
NDI.  The last time I dealt with dma, was on an rca 1802 cpu, which 
had its own builtin dma controller that took care of everything but 
the pointer reload for the next 6 byte fetch, and which I used for 6 
bytes per field of video to feed a homebrewed character generator I 
made out of ttl chips, to generate the academy leader on a 
commercial.  The year was 1978.  A bit far back up the log for even 
me, altho I may still have a copy of the machine code I wrote that 
ran it at KRCR-TV in Redding CA for a decade that I know of, maybe 
longer.

That is neither here nor there now of course, just shining a light 
back up the calendar about 27 years for illustration.

-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
99.34% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

2005-04-01 Thread Ingo Molnar

* Gene Heskett [EMAIL PROTECTED] wrote:

 Apr  1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 
 product 0x/0x/0x
 Apr  1 18:05:24 coyote kernel:
 Apr  1 18:05:24 coyote kernel: ==
 Apr  1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
 Apr  1 18:05:24 coyote kernel: --
 Apr  1 18:05:24 coyote kernel: already locked:  [e4d17228] {(struct semaphore 
 *)(fi-complete_sem)}
 Apr  1 18:05:24 coyote kernel: .. held by:  kino: 6082 [e13ecbb0, 
 118]
 Apr  1 18:05:24 coyote kernel: ... acquired at:  raw1394_read+0x104/0x110 
 [raw1394]

hm - does the patch below help? (or -43-06 which has the same patch)

Ingo

--- linux/drivers/ieee1394/raw1394-private.h.orig
+++ linux/drivers/ieee1394/raw1394-private.h
@@ -29,7 +29,7 @@ struct file_info {
 
 struct list_head req_pending;
 struct list_head req_complete;
-struct semaphore complete_sem;
+struct compat_semaphore complete_sem;
 spinlock_t reqlists_lock;
 wait_queue_head_t poll_wait_complete;
 
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/