public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Tao Ma <tm@tao.ma>
Cc: linux-kernel@vger.kernel.org, Jens Axboe <axboe@kernel.dk>
Subject: Re: CFQ: async queue blocks the whole system
Date: Fri, 10 Jun 2011 05:14:27 -0400	[thread overview]
Message-ID: <20110610091427.GB4183@redhat.com> (raw)
In-Reply-To: <4DF1B035.7080009@tao.ma>

On Fri, Jun 10, 2011 at 01:48:37PM +0800, Tao Ma wrote:

[..]
> >> btw, reverting the patch doesn't work. I can still get the livelock.

What test exactly you are running. I am primarily interested in whether
you still get the hung task timeout warning where a writer is waiting on
get_request_wait() for more than 120 secods or not.

Livelock might be a different problem and for which Christoph provided
a patch for XFS.

> > 
> > Can you give following patch a try and see if it helps. On my system this
> > does allow CFQ to dispatch some writes once in a while.
> Sorry, this patch doesn't work in my test.

Can you give me backtrace of say 15 seconds each with and without patch.
I think now we must be dispatching some writes, that's a different thing
that writer still sleeps more than 120 seconds because there are  way
too many readers.

May be we need to look into show workload tree scheduling takes place and
tweak that logic a bit.

Looking at backtraces should help.

On my system with XFS filesystem I ran 32 readers and 16 buffered writers
with fio for 180 seconds. Without the patch I was getting hung task
timeout warning and with the patch I stopped getting that. I also ran
the blktrace and saw that roughly in 4 seconds we got to dispatch a write.
Which is much better than complete write starving.

So basically blktrace will help here.

Thanks
Vivek

  reply	other threads:[~2011-06-10  9:14 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-09 10:49 CFQ: async queue blocks the whole system Tao Ma
2011-06-09 14:14 ` Vivek Goyal
2011-06-09 14:34   ` Jens Axboe
2011-06-09 14:47   ` Tao Ma
2011-06-09 15:37     ` Vivek Goyal
2011-06-09 15:44       ` Tao Ma
2011-06-09 18:27         ` Vivek Goyal
2011-06-10  5:48           ` Tao Ma
2011-06-10  9:14             ` Vivek Goyal [this message]
2011-06-10 10:00               ` Tao Ma
2011-06-10 15:44                 ` Vivek Goyal
2011-06-11  7:24                   ` Tao Ma
2011-06-13 10:08                   ` Tao Ma
2011-06-13 21:41                     ` Vivek Goyal
2011-06-14  7:03                       ` Tao Ma
2011-06-14 13:30                         ` Vivek Goyal
2011-06-14 15:42                           ` Tao Ma
2011-06-14 21:14                             ` Vivek Goyal
2011-06-17  3:04                   ` Tao Ma
2011-06-17 12:50                     ` Vivek Goyal
2011-06-17 14:34                       ` Tao Ma
2011-06-10  1:19       ` Shaohua Li
2011-06-10  1:34         ` Shaohua Li
2011-06-10  2:06           ` Tao Ma
2011-06-10  2:35             ` Shaohua Li
2011-06-10  3:02               ` Tao Ma
2011-06-10  9:20                 ` Vivek Goyal
2011-06-10  9:21                   ` Jens Axboe
2011-06-13  1:03                   ` Shaohua Li
2011-06-10  9:17         ` Vivek Goyal
2011-06-10  9:20           ` Jens Axboe
2011-06-10  9:29             ` Vivek Goyal
2011-06-10  9:31               ` Jens Axboe

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=20110610091427.GB4183@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tm@tao.ma \
    /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