Manfred ([EMAIL PROTECTED]) wrote:
> sys_poll spends around 1/2 of the execution time allocating / freeing a 
> few bytes temporary memory. 
> The attached patch tries to avoid these allocation by using the stack - 
> usually only a few bytes are needed, kmalloc is used for the rest. 
> The result: one poll of stdin is down from 1736 cpu ticks to 865 cpu 
> ticks (Pentium II/350 SMP, SMP kernel) 

Tested with poll() microbenchmark from 
http://www.kegel.com/dkftpbench/Poller_bench.html

time in microsec to find a single active pipe among N pipes
on a 650 MHz dual Pentium III using poll():

                number of pipes
kernel        100    1000   10000
---------------------------------
2.4.0-t10pre4  49    1184   14660
2.4.0          48    1162   14702
2.4.0-pp       48    1103   14205

2.4.0-pp is with Manfred's patch.  Seems to be a 4-6% improvement 
for large numbers of pipes, no change for 100 pipes.

Hope that was an appropriate test. 

- Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to