Re: [PATCH 12/13] writeback: try more writeback as long as something was written

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Wu Fengguang
Date: Thursday, August 5, 2010 - 3:39 pm

On Fri, Aug 06, 2010 at 01:00:16AM +0800, Jan Kara wrote:

Right. Only that it is a requirement for background writeback.
For others this patch is not a necessity.


Such inodes will be redirty_tail()ed here:

                if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) {
                        /*
                         * We didn't write back all the pages.  nfs_writepages()
                         * sometimes bales out without doing anything.
                         */
                        inode->i_state |= I_DIRTY_PAGES;
                        if (wbc->nr_to_write <= 0) {
                                /*
                                 * slice used up: queue for next turn
                                 */
                                requeue_io(inode);
                        } else {
                                /*
                                 * Writeback blocked by something other than
                                 * congestion. Delay the inode for some time to
                                 * avoid spinning on the CPU (100% iowait)
                                 * retrying writeback of the dirty page/inode
                                 * that cannot be performed immediately.
                                 */
                                redirty_tail(inode);
                        }


Can you elaborate?
 
Thanks,
Fengguang

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 12/13] writeback: try more writeback as long as ..., Wu Fengguang, (Thu Aug 5, 3:39 pm)