Re: [patch] Real-Time Preemption, -RT-2.6.12-rc4-V0.7.47-06

Daniel Walker
2005-06-01T13:22:20Z

On Wed, 1 Jun 2005, Ingo Molnar wrote:

>
> * Daniel Walker <dwalker@mvista.com> wrote:
>
> > > > > existing_sp_head:
> > > > > itr_pl2 = container_of(itr_pl->dp_node.prev, struct plist, dp_node);
> > > > > list_add(&pl->sp_node, &itr_pl2->sp_node);
> > > >
> > > > This breaks fifo ordering.
> > >
> > > Daniel, is the issue (and other issues) Oleg noticed still present? I'm
> > > still a bit uneasy about the complexity of the plist changes.
> >
> > I think this one isn't right. We could make a test quite to check
> > correctness. Find the errors before they find us. Oleg may even have
> > something like that already half done.
> >
> > Are you concerned with plist as a whole, or just my recent changes?
> >
> > There is still a problem with plist_for_each() missing the first list
> > member, which I need to fix.
>
> plist seems pretty stable now, but i'm still worried about behavioral
> correctness. The previous method, while it didnt scale as well, was at
> least more obvious to review.

True, list_add() vs. 200+ lines of code .. I've added our plist to fusyn
with no ill effects. As Oleg suggested I used some userspace code to check
what it was doing, while I was working on it. I've fairly confident in it,
however I do still have some concerns for the same reasons you do.

I could do some cleanup on it, some comments are wrong now. That and a
test suite, maybe that will change the confidence level.

Daniel