xfs
[Top] [All Lists]

Re: [PATCH 5/5] xfs: kick inode writeback when low on memory

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 5/5] xfs: kick inode writeback when low on memory
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 3 Mar 2011 13:42:28 +1100
Cc: xfs@xxxxxxxxxxx, chris.mason@xxxxxxxxxx
In-reply-to: <20110302141220.GA4363@xxxxxxxxxxxxx>
References: <1298412969-14389-1-git-send-email-david@xxxxxxxxxxxxx> <1298412969-14389-6-git-send-email-david@xxxxxxxxxxxxx> <20110302030602.GD4905@dastard> <20110302141220.GA4363@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Wed, Mar 02, 2011 at 09:12:20AM -0500, Christoph Hellwig wrote:
> On Wed, Mar 02, 2011 at 02:06:02PM +1100, Dave Chinner wrote:
> > I'm open to ideas here - I could convert the bdi flusher
> > infrastructure to cmwqs rather than using worker threads, or move
> > all dirty inode tracking and writeback into XFS, or ???
> 
> Tejun posted patches to convert the writeback threads to workqueues.
> But I think sooner or later we should stop using VFS dirty state for
> metadata.  By allowing the dirty_inode operation to return a value
> and say it shouldn't be marked dirty that could be done relatively
> easily.

Yeah, it doesn't seem like there's an easy way around that. I guess
I'll start by tracking VFS dirty inodes via a tag in the per-ag radix
tree and kick writeback via a new xfssynd work operation. I'll see
if that is sufficient to avoid the OOM problem without needing to
log the inodes in the .dirty_inode callback or changing it's
prototype.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>