Scheduler & semaphore patch for 2.2.14 ...
Davide Libenzi
dlibenzi en maticad.it
Sab Ene 22 16:26:15 CST 2000
Hi guys,
here's the patch coded for 2.2.14.
It contains :
* A clustering subdivision of processes in function of their goodness
This avoid the linear scan of the running queue to find the
next process to run.
My test prove that even in high workloaded environment
not more than two goodnesses are calculated.
* As IBM guys suggested I've reorganized a bit the fields in task_struct
to reduce the cache footprint
* A wake_up patch that has the goodness calculation inside it.
This avoid flushing all waiting threads onto the scheduler
shoulders.
IMVHO this is better than the current because avoid the thread
flushing, and is better then a simple FIFO coz it try to select the
best taks to run.
This is 100% precise in UP while it's not in SMP due to the fact
that we don't know which CPU will reschedule the task.
Anyway even if in SMP the precision is not 100%, it's better
than FIFO.
I don't know if this patch will be usefull or not, the thing the is true is that
it reduces scheduling times on high loaded runqueues, and that can speed up
process wakeup in long waitqueue.
I hope someone having a better suite than mine, should test the patch
reporting me ( and others ) own impressions and measurements.
Davide.
--
All this stuff is IMVHO
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: sched-patch-2.2.14.tar.gz
Type: application/x-gzip
Size: 5310 bytes
Desc: no disponible
URL: <https://lists.srvr.mx/pipermail/ayuda/attachments/20000123/681f3c5f/attachment.bin>
Más información sobre la lista de distribución Ayuda