public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Szymanski <szymans@agh.edu.pl>
To: linux-kernel@vger.kernel.org,
	"Jeff V. Merkey" <jmerkey@wolfmountaingroup.com>,
	Grant Coady <gcoady.lk@gmail.com>, Andrew Morton <akpm@osdl.org>,
	Grzegorz Kulewski <kangur@polcom.net>
Subject: Re: Strange write starvation on 2.6.17 (and other) kernels
Date: Wed, 16 Aug 2006 22:54:56 +0200	[thread overview]
Message-ID: <44E38620.8020005@agh.edu.pl> (raw)
In-Reply-To: <44E0A69C.5030103@agh.edu.pl>

Based on your comments I've made some more tests with different kernels,
schedulers and ext3 options (yes, I'm using ext3).

Using ext3 with data=writeback against data=ordered doesn't help,
sometimes makes things even slightly worse

Changing the kernel version from 2.6.9 to 2.6.17 has minor effect on
write delay.

Different schedulers (CFQ and deadline) on different disks and
especially with different kinds of software RAID give huge differences:

Machine 1: PIV 3GHz 2GB RAM (kernel 2.6.11)

- (4 x ATA 7200 RPM 120GB):
   - software RAID5: deadline 10-30s, CFQ 10-36s (I guess the killer are
the reads required to compute XOR)
   - software RAID10: deadline 3-6s, CFQ 4-14s
- software RAID0  (2xSCSI 15000 RPM 36GB): deadline 1-3s, CFQ 2-10s

Machine 2: PIV 3.2GHz 512MB RAM (kernels 2.6.9, 2.6.11, 2.6.12, 2.6.17)
- single disk ATA 7200RPM 60GB: deadline: 3-8s, CFQ: 10-20s

Laptop: Pentium-M 1.7, 512MB RAM (kernel 2.6.17)
- single 2,5" 5400RPM 80GB ATA disk: deadline 6-23s, CFQ 6-17s

The time is the max write() time (64KB) I have observed for different
simultaneously writing threads (the numbers are just from one pass with
a specific load, so they are not statistically valid).

Just for comparison on Machine 1, RAID5, deadline scheduler writes with
fsync() after each write last max. 1.1 - 1.7s.

I've also made a single test with xfs filesystem - the problem remains
the same, so it doesn't seem to be connected with ext3.

For me it seems that linux has somehow hardcoded minimum expectations
about disk performance (maybe the number of pages flushed at once),
since with SCSI everything is OK, with 7200 RPM ATA more or less OK,
with 5400 ATA much worse and with ATA RAID5 terrible.

Based on that I have moved the data disks on my server from RAID5 to
RAID10, and set scheduler to deadline, so my main problem with samba
timeouts is (hopefully) resolved right now.

Thanks for help!
Andrzej.



  parent reply	other threads:[~2006-08-16 20:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44E38620.8020005@agh.edu.pl \
    --to=szymans@agh.edu.pl \
    --cc=akpm@osdl.org \
    --cc=gcoady.lk@gmail.com \
    --cc=jmerkey@wolfmountaingroup.com \
    --cc=kangur@polcom.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox