Re: [PATCH] [RFC] Optimize select/poll by putting small data setson the stack

From: Eric Dumazet
Date: Tue Jan 03 2006 - 17:12:58 EST


Andi Kleen a écrit :
This is a RFC for now. I would be interested in testing
feedback. Patch is for 2.6.15.

Optimize select and poll by a using stack space for small fd sets

This brings back an old optimization from Linux 2.0. Using
the stack is faster than kmalloc. On a Intel P4 system
it speeds up a select of a single pty fd by about 13%
(~4000 cycles -> ~3500)

Was this result on UP or SMP kernel ? Preempt or not ?

I think we might play in do_pollfd() and use fget_light()/fput_light() instead of fget()/fput() that are somewhat expensive because of atomic inc/dec on SMP.

(I believe that select()/poll() based daemons are mostly non multi-threaded, since high performance multi-threaded programs should be using epoll...)

Eric

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/