Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-07

From: Steven Rostedt
Date: Thu Mar 31 2005 - 07:23:24 EST


On Thu, 2005-03-31 at 13:03 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > Well, here it finally is. There's still things I don't like about it.
> > But it seems to work, and that's the important part.
> >
> > I had to reluctantly add two items to the task_struct. I was hoping
> > to avoid that. But because of race conditions it seemed to be the only
> > way.
>
> well it's not a big problem, and we avoided having to add flags to the
> rt_lock structure, which is the important issue.
>
> your patch looks good, i've added it to my tree and have uploaded the
> -26-00 patch. It boots fine on my testbox, except for some new messages:
>
> knodemgrd_0/902: BUG in __down_complete at kernel/rt.c:1568
> [<c0103956>] dump_stack+0x23/0x25 (20)
> [<c0130dcd>] down_trylock+0x1fb/0x200 (48)
> [<c0364ee2>] nodemgr_host_thread+0xd0/0x17b (48)
> [<c0100d4d>] kernel_thread_helper+0x5/0xb (136249364)
> ---------------------------
> | preempt count: 00000001 ]
> | 1-level deep critical section nesting:
> ----------------------------------------
> .. [<c0133a75>] .... print_traces+0x1b/0x52
> .....[<c0103956>] .. ( <= dump_stack+0x23/0x25)
>
> this goes away if i revert your patch. It seems the reason is that
> trylock hasnt been updated to use the pending-owner logic?

Hmm, The pending owner logic in __down_trylock uses the grab_lock
function. It doesn't need the capture_lock since it never sleeps. I'm
downloading your 42-00-experimental now and installing it to see if I
can get the same message. Did you try the patch against 41-11? Maybe the
patch didn't go in so smoothly.

Anyway, I'll take a look at it now and let you know what I find.

Thanks,

-- Steve


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