t On Fri, 22 Apr 2005, Inaky Perez-Gonzalez wrote: > >>>>> Ingo Molnar <[EMAIL PROTECTED]> writes: > > >> this includes fixes from Daniel Walker, which could fix the plist > >> related slowdown bugs: > > > there are still some problems remaining: i just ran Esben Nielsen's > > priority-inheritance validation testsuite, and the plist code gives > > a worst-case latency of 9.0 msecs. > > With which machine is this? > > I tried to reproduce with V0.7.45-01 in my 2xPIII 0.9 Ghz I cannot get > more than 1.9ms when doing 2000 samples repeatedly (60 iterations and > counting). > > Did you use other parameters to 'test'? > > # cnt=0 > # while true > > do echo -n "$cnt " > > ./test --samples 2000 file.hist 2>&1 | grep maximum; cnt=$(($cnt+1)) > > done > > With 2.6.12-rc3-V0.7.46-02 I get:
It's still to high , it should be under a millisecond .. I'm still testing but the times get better with this patch . I was initializing the lists to 0, instead of MAX_INT . Let me know if it changes anything. Daniel
Index: linux-2.6.11/include/linux/plist.h =================================================================== --- linux-2.6.11.orig/include/linux/plist.h 2005-04-22 19:36:54.000000000 +0000 +++ linux-2.6.11/include/linux/plist.h 2005-04-22 19:38:29.000000000 +0000 @@ -251,7 +251,7 @@ static inline void plist_del_init(struct plist *pl, struct plist *plist) { plist_del (pl, plist); - plist_init(pl, 0); + plist_init(pl, INT_MAX); } /* Return the priority a pl node */ Index: linux-2.6.11/kernel/rt.c =================================================================== --- linux-2.6.11.orig/kernel/rt.c 2005-04-22 15:05:33.000000000 +0000 +++ linux-2.6.11/kernel/rt.c 2005-04-22 19:36:29.000000000 +0000 @@ -939,6 +939,7 @@ set_task_state(task, TASK_UNINTERRUPTIBLE); + plist_init (&waiter.list, task->prio); task_blocks_on_lock(&waiter, task, lock, eip); TRACE_BUG_ON(!irqs_disabled());