public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Strange write starvation on 2.6.17 (and other) kernels
@ 2006-08-14 16:36 Andrzej Szymanski
  2006-08-14 18:46 ` Jeff V. Merkey
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Andrzej Szymanski @ 2006-08-14 16:36 UTC (permalink / raw)
  To: linux-kernel

Hi,

I've encountered a strange problem - if an application is sequentially 
writing a large file on a busy machine, a single write() of 64KB may 
take even 30 seconds. But if I do fsync() after each write() the maximum 
time of write()+fsync() is about 0.5 second (the overall performance is, 
of course, degraded).

The point is, that some applications (samba+smbclient) time out after 
20s waiting for write().

Does anybody have an idea how to tune the kernel to avoid this strange 
delay in write()?

I've tried to experiment with cfq and deadline IO scheduler - without 
success. Decreasing /proc/vm/dirty_ratio to 5% helps a little.

If somebody want to test it, the tool I've written for measuring maximum 
write() time is here: http://galaxy.agh.edu.pl/~szymans/writetimer

1. Compile writetimer.c
2. Put a large background read from the disk
3. Simultaneously write 10 files 200MB each (write() without fsync())
for i in 1 2 3 4 5 6 7 8 9 0 ; do ./writetimer 200 > testfile$i & done
4. and with fsync() after each write()
for i in 1 2 3 4 5 6 7 8 9 0 ; do ./writetimer -200 > testfile$i & done
(negative file size turns on fsync())

Tested on
- 2.6.15-23 (512MB RAM, Pentium-M 1.7, Ubuntu 6.06, ATA disk)
- 2.6.17-1.2145_FC5 (512MB RAM, Pentium-M 1.7, Fedora Core 5, ATA disk)
- 2.6.12-2.3.legacy_FC3smp (2GB RAM, Fedora Core 3, software RAID 5 on 4 
ATA disks)

Thanks,
Andrzej



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2006-08-25  8:46 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-14 16:36 Strange write starvation on 2.6.17 (and other) kernels Andrzej Szymanski
2006-08-14 18:46 ` Jeff V. Merkey
2006-08-14 23:28 ` Grant Coady
2006-08-15  7:50 ` Andrew Morton
2006-08-15  7:51   ` Andrew Morton
2006-08-15 12:40   ` Grzegorz Kulewski
2006-08-15 14:04     ` Andrew Morton
2006-08-15 18:40 ` Jason Lunz
2006-08-16 20:54 ` Andrzej Szymanski
2006-08-17  8:36 ` Miquel van Smoorenburg
2006-08-21  1:31   ` Neil Brown
2006-08-21 12:40     ` Andrzej Szymanski
2006-08-22  7:40       ` Neil Brown
2006-08-25  5:41         ` Neil Brown
2006-08-25  8:46           ` Andrzej Szymanski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox