Messages in this thread | | | Date | Wed, 01 Jun 2005 18:43:39 +0400 | From | Oleg Nesterov <> | Subject | Re: [patch] Real-Time Preemption, -RT-2.6.12-rc4-V0.7.47-06 |
| |
Daniel Walker wrote: > > On Wed, 1 Jun 2005, Ingo Molnar wrote: > > > * Oleg Nesterov <oleg@tv-sign.ru> 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.
Ok, I'll do the testing...
int main(void) { struct plist head, node[3], *pos; int i;
plist_init(&head, INT_MAX);
for (i = 0; i < 3; ++i) { plist_init(node + i, 0); plist_add(node + i, &head); }
plist_for_each(pos, &head) printf("fifo? %d\n", pos - node);
return 0; }
output:
fifo? 2 fifo? 1 fifo? 0
Oleg. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |