All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@bonn-fries.net>
To: Ed Tomlinson <tomlins@cam.org>, "Stephen C. Tweedie" <sct@redhat.com>
Cc: Chris Mason <mason@suse.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [RFC] using writepage to start io
Date: Tue, 7 Aug 2001 20:36:20 +0200	[thread overview]
Message-ID: <0108072036200D.02365@starship> (raw)
In-Reply-To: <755760000.997128720@tiny> <20010807120234.D4036@redhat.com> <20010807113944.D229E7B53@oscar.casa.dyndns.org>
In-Reply-To: <20010807113944.D229E7B53@oscar.casa.dyndns.org>

On Tuesday 07 August 2001 13:39, Ed Tomlinson wrote:
> On August 7, 2001 07:02 am, Stephen C. Tweedie wrote:
> > On Mon, Aug 06, 2001 at 11:18:26PM +0200, Daniel Phillips wrote:
> > > > On Monday, August 06, 2001 09:45:12 PM +0200 Daniel Phillips
> > > >
> > > > Grin, we're talking in circles.  My point is that by having two
> > > > threads, bdflush is allowed to skip over older buffers in favor
> > > > of younger ones because somebody else is responsible for writing
> > > > the older ones out.
> > >
> > > Yes, and you can't imagine an algorithm that could do that with
> > > *one* thread?
> >
> > FWIW, we've seen big performance degradations in the past when
> > testing different ext3 checkpointing modes.  You can't reuse a disk
> > block in the journal without making sure that the data in it has
> > been flushed to disk, so ext3 does regular checkpointing to flush
> > journaled blocks out.  That can interact very badly with normal VM
> > writeback if you're not careful: having two threads doing the same
> > thing at the same time can just thrash the disk.
> >
> > Parallel sync() calls from multiple processes has shown up the same
> > behaviour on ext2 in the past.  I'd definitely like to see at most
> > one thread of writeback per disk to avoid that.
>
> Be carefull here.  I have a system (solaris) at the office that has 96
> drives on it.  Do we really want 96 writeback threads?  With 96
> drives, suspect the bus bandwidth would be the limiting factor.

Surely these are grouped into some kind of raid?  You'd have one queue
per raid.  Since the buffer submission is nonblocking[1] it's a matter
of taste whether that translates into multiple threads or not.

[1] So long as you don't run into the low level request limits which
should never happen if you pay attention to how much IO is in flight.

--
Daniel

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Phillips <phillips@bonn-fries.net>
To: Ed Tomlinson <tomlins@cam.org>, "Stephen C. Tweedie" <sct@redhat.com>
Cc: Chris Mason <mason@suse.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [RFC] using writepage to start io
Date: Tue, 7 Aug 2001 20:36:20 +0200	[thread overview]
Message-ID: <0108072036200D.02365@starship> (raw)
In-Reply-To: <20010807113944.D229E7B53@oscar.casa.dyndns.org>

On Tuesday 07 August 2001 13:39, Ed Tomlinson wrote:
> On August 7, 2001 07:02 am, Stephen C. Tweedie wrote:
> > On Mon, Aug 06, 2001 at 11:18:26PM +0200, Daniel Phillips wrote:
> > > > On Monday, August 06, 2001 09:45:12 PM +0200 Daniel Phillips
> > > >
> > > > Grin, we're talking in circles.  My point is that by having two
> > > > threads, bdflush is allowed to skip over older buffers in favor
> > > > of younger ones because somebody else is responsible for writing
> > > > the older ones out.
> > >
> > > Yes, and you can't imagine an algorithm that could do that with
> > > *one* thread?
> >
> > FWIW, we've seen big performance degradations in the past when
> > testing different ext3 checkpointing modes.  You can't reuse a disk
> > block in the journal without making sure that the data in it has
> > been flushed to disk, so ext3 does regular checkpointing to flush
> > journaled blocks out.  That can interact very badly with normal VM
> > writeback if you're not careful: having two threads doing the same
> > thing at the same time can just thrash the disk.
> >
> > Parallel sync() calls from multiple processes has shown up the same
> > behaviour on ext2 in the past.  I'd definitely like to see at most
> > one thread of writeback per disk to avoid that.
>
> Be carefull here.  I have a system (solaris) at the office that has 96
> drives on it.  Do we really want 96 writeback threads?  With 96
> drives, suspect the bus bandwidth would be the limiting factor.

Surely these are grouped into some kind of raid?  You'd have one queue
per raid.  Since the buffer submission is nonblocking[1] it's a matter
of taste whether that translates into multiple threads or not.

[1] So long as you don't run into the low level request limits which
should never happen if you pay attention to how much IO is in flight.

--
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

  reply	other threads:[~2001-08-07 18:30 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-05 18:34 [RFC] using writepage to start io Chris Mason
2001-08-05 18:34 ` Chris Mason
2001-08-05 22:38 ` Daniel Phillips
2001-08-05 22:38   ` Daniel Phillips
2001-08-05 23:32   ` Chris Mason
2001-08-05 23:32     ` Chris Mason
2001-08-06  5:39     ` Daniel Phillips
2001-08-06  5:39       ` Daniel Phillips
2001-08-06 13:24       ` Chris Mason
2001-08-06 13:24         ` Chris Mason
2001-08-06 16:13         ` Daniel Phillips
2001-08-06 16:13           ` Daniel Phillips
2001-08-06 16:51           ` Chris Mason
2001-08-06 16:51             ` Chris Mason
2001-08-06 19:45             ` Daniel Phillips
2001-08-06 19:45               ` Daniel Phillips
2001-08-06 20:12               ` Chris Mason
2001-08-06 20:12                 ` Chris Mason
2001-08-06 21:18                 ` Daniel Phillips
2001-08-06 21:18                   ` Daniel Phillips
2001-08-07 11:02                   ` Stephen C. Tweedie
2001-08-07 11:02                     ` Stephen C. Tweedie
2001-08-07 11:39                     ` Ed Tomlinson
2001-08-07 11:39                       ` Ed Tomlinson
2001-08-07 18:36                       ` Daniel Phillips [this message]
2001-08-07 18:36                         ` Daniel Phillips
2001-08-07 12:07                     ` Anton Altaparmakov
2001-08-07 12:07                       ` Anton Altaparmakov
2001-08-07 12:02                   ` Anton Altaparmakov
2001-08-07 12:02                     ` Anton Altaparmakov
2001-08-07 13:29                     ` Daniel Phillips
2001-08-07 13:29                       ` Daniel Phillips
2001-08-07 13:31                       ` Alexander Viro
2001-08-07 13:31                         ` Alexander Viro
2001-08-07 15:52                         ` Daniel Phillips
2001-08-07 15:52                           ` Daniel Phillips
2001-08-07 14:23                       ` Stephen C. Tweedie
2001-08-07 14:23                         ` Stephen C. Tweedie
2001-08-07 15:51                         ` Daniel Phillips
2001-08-07 15:51                           ` Daniel Phillips
2001-08-08 14:49                           ` Stephen C. Tweedie
2001-08-08 14:49                             ` Stephen C. Tweedie
2001-08-06 15:13 ` Eric W. Biederman
2001-08-06 15:13   ` Eric W. Biederman
  -- strict thread matches above, loose matches on Subject: below --
2001-08-07 15:19 Chris Mason
2001-08-07 15:19 ` Chris Mason
2001-07-28 16:01 Chris Mason
2001-07-28 16:18 ` Alexander Viro
2001-07-28 16:25   ` Chris Mason
2001-07-31 19:07 ` Chris Mason
2001-07-31 19:07   ` Chris Mason
2001-08-01  1:01   ` Daniel Phillips
2001-08-01  1:01     ` Daniel Phillips
2001-08-01  2:05     ` Chris Mason
2001-08-01  2:05       ` Chris Mason
2001-08-01 14:57   ` Daniel Phillips
2001-08-01 14:57     ` Daniel Phillips

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=0108072036200D.02365@starship \
    --to=phillips@bonn-fries.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mason@suse.com \
    --cc=sct@redhat.com \
    --cc=tomlins@cam.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.