All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Nick Piggin <npiggin@suse.de>
Cc: linux-fsdevel@vger.kernel.org, mpatocka@redhat.com
Subject: Re: [patch 6/6] mm: fsync livelock avoidance
Date: Thu, 11 Dec 2008 16:39:43 -0800	[thread overview]
Message-ID: <20081211163943.8fb631af.akpm@linux-foundation.org> (raw)
In-Reply-To: <20081211234335.GG8294@wotan.suse.de>

On Fri, 12 Dec 2008 00:43:35 +0100 Nick Piggin <npiggin@suse.de> wrote:

> On Thu, Dec 11, 2008 at 03:14:07PM -0800, Andrew Morton wrote:
> > On Thu, 11 Dec 2008 23:45:14 +0100
> > Nick Piggin <npiggin@suse.de> wrote:
> > 
> > > > > For simplicity, I have removed the "don't wait for writeout if we hit -EIO"
> > > > > logic from a couple of places. I don't know if this is really worth the added
> > > > > complexity (EIO will still get reported, but it will just take a bit longer;
> > > > > an app can't rely in specific behaviour or timeliness here).
> > > > 
> > > > This is ungood.  The device layer likes to twiddle thumbs for 30
> > > > seconds or more when it hits an IO error.  We went and made that 30,000
> > > > or more..
> > > 
> > > It isn't really a good solution anyway,
> > 
> > what isn't a good solution to what?
> 
> To the problem of long waits on IO errors.
> 
>  
> > > because I think it's much
> > > less likely for writepage to return -EIO directly. Usually they
> > > would come back via data IO completion asynchronously.
> > 
> > umm, maybe.  If all the file metadata is in pagecache.  Often it is not.
> 
> I'd say, often it *is* because the buffer layer allocates/maps/reserves
> blocks for the page when it gets dirtied.

Depends on the value of "often" ;)

Metadata can get evicted early because it's in lowmem.

We don't instantiate the blocks at fault time for MAP_SHARED writes
(do we?  we were thinking of doing so)

> Of course these checks will catch some cases for some filesystems, but
> they're not a good general solution to the problem of EIO errors taking
> a long time, IMO, because there are other ways it can happen.

Well it's one of those things where a 90% solution is 90% better than no
solution.

  reply	other threads:[~2008-12-12  0:41 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-10  7:24 [patch 1/6] mm: direct IO starvation improvement Nick Piggin
2008-12-10  7:25 ` [patch 2/6] fs: remove WB_SYNC_HOLD Nick Piggin
2008-12-10  7:27 ` [patch 3/6] fs: sync_sb_inodes fix Nick Piggin
2008-12-11 21:51   ` Andrew Morton
2008-12-11 22:34     ` Nick Piggin
2008-12-10  7:27 ` [patch 4/6] fs: sys_sync fix Nick Piggin
2008-12-10  7:28 ` [patch 5/6] radix-tree: gang set if tagged operation Nick Piggin
2008-12-11 21:20   ` Andrew Morton
2008-12-11 22:10     ` Nick Piggin
2008-12-10  7:42 ` [patch 6/6] mm: fsync livelock avoidance Nick Piggin
2008-12-10  9:15   ` steve
2008-12-11 21:51   ` Andrew Morton
2008-12-11 22:32     ` Nick Piggin
2008-12-11 22:41       ` Andrew Morton
2008-12-11 22:45       ` Andrew Morton
2008-12-11 22:59         ` Nick Piggin
2008-12-11 21:51   ` Andrew Morton
2008-12-11 22:23   ` Andrew Morton
2008-12-11 22:45     ` Nick Piggin
2008-12-11 23:14       ` Andrew Morton
2008-12-11 23:43         ` Nick Piggin
2008-12-12  0:39           ` Andrew Morton [this message]
2008-12-12  4:01             ` Nick Piggin
2008-12-12 16:04 ` [patch 1/6] mm: direct IO starvation improvement Jeff Moyer

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=20081211163943.8fb631af.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mpatocka@redhat.com \
    --cc=npiggin@suse.de \
    /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.