linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Tao Ma <tm@tao.ma>, Wu Fengguang <fengguang.wu@intel.com>,
	Dave Chinner <david@fromorbit.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jan Kara <jack@suse.cz>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"bugzilla-daemon@bugzilla.kernel.org"
	<bugzilla-daemon@bugzilla.kernel.org>,
	"daaugusto@gmail.com" <daaugusto@gmail.com>,
	"kernel-bugzilla@cygnusx-1.org" <kernel-bugzilla@cygnusx-1.org>,
	"listposter@gmail.com" <listposter@gmail.com>,
	"justincase@yopmail.com" <justincase@yopmail.com>,
	"clopez@igalia.com" <clopez@igalia.com>,
	Jens Axboe <axboe@kernel.dk>, Shaohua Li <shaohua.li@intel.com>
Subject: Re: [Bug 18632] "INFO: task" dpkg "blocked for more than 120 seconds.
Date: Thu, 9 Jun 2011 10:32:56 -0400	[thread overview]
Message-ID: <20110609143256.GE29913@redhat.com> (raw)
In-Reply-To: <20110609142133.GA12658@infradead.org>

On Thu, Jun 09, 2011 at 10:21:33AM -0400, Christoph Hellwig wrote:
> On Thu, Jun 09, 2011 at 10:12:38PM +0800, Tao Ma wrote:
> > Just want to say more about the situation here. Actually the flusher is
> > too much easier to be blocked by the sync requests. And whenever it is
> > blocked, it takes a quite long time to get back(because several cfq
> > designs), so do you think we can use WRITE_SYNC for the bdev inodes in
> > flusher? AFAICS, in most of the cases when a volume is mounted, the
> > writeback for a bdev inode means the metadata writeback. And they are
> > very important for a file system and should be written as far as
> > possible. I ran my test cases with the change, and now the livelock
> > doesn't show up anymore.
> 
> It's not a very good guestimate for metadata.  A lot of metadata is
> either stored in directories (often happens for directories) or doesn't
> use the pagecache writeback functions at all.
> 
> The major problem here seems to be that async requests simply starve
> sync requests far too much.

You mean sync requests starve async requests?

It is possible that CFQ can starve async requests for long time in
presence of sync reqeusts. If that's the case, all the reported issues
should go away with deadline scheduler.

As I mentioned in other mail, one commit made the dias very heavily
loaded in favor of sync requests.

commit f8ae6e3eb8251be32c6e913393d9f8d9e0609489
Author: Shaohua Li <shaohua.li@intel.com>
Date:   Fri Jan 14 08:41:02 2011 +0100

    block cfq: make queue preempt work for queues from different workload


I will do some quick tests and try to write a small patch where we can
keep track of how many times sync and async workloads have been scheduled
and make sure we don't starve async req completely.

Thanks
Vivek

  reply	other threads:[~2011-06-09 14:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-18632-27@https.bugzilla.kernel.org/>
     [not found] ` <201106082138.p58Lchgj002615@demeter2.kernel.org>
     [not found]   ` <20110608150241.8412a63d.akpm@linux-foundation.org>
2011-06-09  3:32     ` [Bug 18632] "INFO: task" dpkg "blocked for more than 120 seconds Wu Fengguang
2011-06-09  3:54       ` Wu Fengguang
2011-06-09  8:27         ` Christoph Hellwig
2011-06-09  9:09           ` Wu Fengguang
2011-06-09 11:02             ` Christoph Hellwig
2011-06-09 12:11               ` Wu Fengguang
2011-06-09 12:17                 ` Wu Fengguang
2011-06-09 12:17                 ` Christoph Hellwig
2011-06-09 12:43                   ` Wu Fengguang
2011-06-09 13:23                     ` Christoph Hellwig
2011-06-10  3:21                       ` Wu Fengguang
2011-06-19 15:56                         ` Christoph Hellwig
2011-06-19 16:33                           ` Wu Fengguang
2011-06-09 13:56                     ` Tao Ma
2011-06-09 14:12                 ` Tao Ma
2011-06-09 14:21                   ` Christoph Hellwig
2011-06-09 14:32                     ` Vivek Goyal [this message]
2011-06-09 14:51                       ` Tao Ma

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=20110609143256.GE29913@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=bugzilla-daemon@bugzilla.kernel.org \
    --cc=clopez@igalia.com \
    --cc=daaugusto@gmail.com \
    --cc=david@fromorbit.com \
    --cc=fengguang.wu@intel.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=justincase@yopmail.com \
    --cc=kernel-bugzilla@cygnusx-1.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=listposter@gmail.com \
    --cc=shaohua.li@intel.com \
    --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;
as well as URLs for NNTP newsgroup(s).