Bug #1186

Linux 2.6 / gthread-aio pauses for 0.5s in FUTEX_WAIT

Added by Anonymous over 12 years ago. Updated over 3 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Missing in 1.5.x:


Consider this test case.
dd if=/dev/zero of=10G.bin bs=1 count=1 seek=10000000000
Serve file with lighttpd and fetch it locally.
wget --no-proxy -O /dev/null http://whatever/10G.bin

With default (linux-sendfile) I get 290M/s.
With posix-aio lighttpd closes connection because mmap failed in network_posix_aio.c.358.
With gthread-aio I get 25M/s, data coming for some time, then 1s pause, coming again...

I use lighttpd-svn rev 1856.
SMP Linux on Pentium D 2.8GHz, glibc-2.5-13.fc6.
Would be great if someone can reproduce this.
If not, I give some straces (anything else needed?).

26274 16:09:28.210449 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) <0.502715>


lig2.txt (256 KB) lig2.txt strace of lighttpd-20070518-svn - gthread-aio at 15 MB/s (sendfile=270MB/s _while_ stracing) Safari, 2007-05-24 14:07

Updated by jan over 12 years ago

You only see the joblist-thread here.

I would need a full strace of the request over all threads. Use the option -f at startup to trace the other threads too.


Updated by Anonymous over 12 years ago

am using svn-r1857 on centos 4.5/x86-64. I don't see difference between gthread-aio/linux-sendfile when trying to slurp a 10M file

With both I get 9.98M/s
server.event-handler = "linux-sysepoll"
server.max-fds = 16384
server.max-keep-alive-requests = 70
server.max-keep-alive-idle = 5
server.max-read-idle = 60
server.max-write-idle = 360
server.use-noatime = "enable"
server.max-stat-threads = 2
server.max-read-threads = 2 = "gthread-aio"

-- yusufg


Updated by Anonymous over 12 years ago

10M ain't no good. Try 10G.

9.98M/s? Does not sound like localhost.


Updated by Anonymous over 12 years ago

Linux stats with lighttpd-svn-r1900

linux-sysepoll 340M/s

linux-aio-sendfile: 1.1M/s

gthread-aio: 400K/s


Updated by Safari over 11 years ago

This bug is fixed by patch in #1517
Tried with gthread-aio only.


Updated by gstrauss over 3 years ago

  • Description updated (diff)
  • Status changed from New to Fixed
  • Assignee deleted (jan)

fixed per above note

Also available in: Atom