[BUG] in sendfile() under high load

Roy Sigurd Karlsbakk (roy@karlsbakk.net)
Fri, 31 May 2002 18:53:18 +0200


hi

After doing some testing with tux, getting something like a I/O or VM chrash
whenever downloads start stressing I/O heavily, I tried to make a small
server myself, using sendfile(). This, however, shows the same behaviour.
Testing a small app, I use xinetd:

fd = open();
sendfile(0, fd ...);

this works fine until there's ~20 downloads, at which point the I/O just
messes up. everything goes SLOOOOW and system CPU time is stable at 100%. It
should be noted that before this limit is reached, the system is hardly using
any system time at all. After stopping the downloads, the system moves back
to good behavior, nice I/O speed (~95MB/s disk-to-memory) etc. The system
also performs well with few clients.

Detailed configuration:

- 4 IBM 40gig disks in RAID-0. chunk size 1MB
- 1 x athlon 1GHz
- 1GB RAM - no highmem (900 meg)
- kernel 2.4.19pre7 + patch from Andrew Morton to ditch buffers early
(thread: [BUG] 2.4 VM sucks. Again)
- gigEthernet between test client and server

Anyone got a clue?

roy

-- 
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners. They stop working when you open Windows. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/