From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wu Fengguang Subject: [PATCH 0/7] writeback: avoid touching dirtied_when on blocked inodes Date: Thu, 20 Oct 2011 23:22:40 +0800 Message-ID: <20111020152240.751936131@intel.com> Cc: Jan Kara , Dave Chinner , Christoph Hellwig To: Return-path: Received: from mga03.intel.com ([143.182.124.21]:52461 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756367Ab1JTPiH (ORCPT ); Thu, 20 Oct 2011 11:38:07 -0400 cc: Andrew Morton Cc: Wu Fengguang , LKML Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi, This tries to keep dirtied_when for blocked inodes by converting some redirty_tail() calls to requeue_io_wait(). The possibly blocked inodes will be moved to b_more_io_wait. The b_more_io_wait inodes will now be retried as dillegent as b_more_io inodes, except when the latter goes empty, b_more_io_wait will be retried by the kupdate work on increasing intervals until exceeding dirty_writeback_interval. Christoph Hellwig (1): writeback: avoid redirtying when ->write_inode failed to clear I_DIRTY Jan Kara (2): writeback: update wb->last_active on written pages/inodes writeback: Retry kupdate work early if we need to retry some inode writeback Wu Fengguang (4): writeback: introduce queue b_more_io_wait writeback: requeue_io_wait() on pages_skipped inode writeback: requeue_io_wait() on blocked inode writeback: requeue_io_wait() when failed to grab superblock fs/fs-writeback.c | 62 ++++++++++++++++++++++++++++++++++--------- include/linux/backing-dev.h | 8 +++-- mm/backing-dev.c | 10 +++++- 3 files changed, 62 insertions(+), 18 deletions(-) Thanks, Fengguang