Re: [patch 6/6] mm: fsync livelock avoidance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 11, 2008 at 04:39:43PM -0800, Andrew Morton wrote:
> On Fri, 12 Dec 2008 00:43:35 +0100 Nick Piggin <npiggin@xxxxxxx> wrote:
> 
> > > > 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" ;)

Very true.

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

Yes, although highmem isn't "often" these days :) And for non-highmem,
you would expect the page to be written back before buffer heads are
reclaimed.


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

No. Well, some filesystems do I think. But not many. There were patches
for ext*. But I think MAP_SHARED writes aren't terribly common either.

 
> > 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.

Or maybe a 20% solution is better than no solution too -- it's not a lot
of code as is. It would have got a little more complex after my FSYNC
tag patch. But we haven't even decided if that's a good idea to begin
with, so let's not get ahead of ourselves :)

How can this be solved nicely? Have an error rate threshold in the block
device code, after which the queue shuts down and starts synchronously
rejecting requests?

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux