summaryrefslogtreecommitdiff
path: root/source4/smbd/service_task.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-02-03 08:24:08 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:30 -0500
commit6e0a56f73b7f75e45d97a574cf6fd1fc4f4bff9b (patch)
tree31713e7463f759b86cc80fa90374ca8f54a2e2ab /source4/smbd/service_task.c
parenta097414ed25873cbcbee48f0a888d36a6b60c10c (diff)
downloadsamba-6e0a56f73b7f75e45d97a574cf6fd1fc4f4bff9b.tar.gz
samba-6e0a56f73b7f75e45d97a574cf6fd1fc4f4bff9b.tar.bz2
samba-6e0a56f73b7f75e45d97a574cf6fd1fc4f4bff9b.zip
r5194: added support for using epoll instead of select() on systems that have
it. epoll is much more scalable than select(), but only exists on some systems (such as Linux with the 2.6.x kernel). The code detects any epoll system call failures at runtime and falls back to select() if there is a problem, so it should be safe to compile this on a 2.6 kernel and run it on a 2.4.x kernel. The speedup is quite large. It gains 20% in packet rate in the BENCH-NBT test, on top of another 20% gain from the better timer handling I added earlier. The really big gain will be when we are dealing with large numbers of file descriptors. With epoll we can handle hundreds of file descriptors all O(1), whereas with select it is O(n). (This used to be commit 26aa1aa69377e43da2942a42d137b95801e9fa1a)
Diffstat (limited to 'source4/smbd/service_task.c')
0 files changed, 0 insertions, 0 deletions