From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935057Ab1ESVyv (ORCPT ); Thu, 19 May 2011 17:54:51 -0400 Received: from mga14.intel.com ([143.182.124.37]:61718 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934993Ab1ESVyp (ORCPT ); Thu, 19 May 2011 17:54:45 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.65,239,1304319600"; d="scan'208";a="439348022" Message-Id: <20110519214530.939830917@intel.com> User-Agent: quilt/0.48-1 Date: Fri, 20 May 2011 05:45:30 +0800 From: Wu Fengguang To: Andrew Morton cc: Jan Kara cc: Dave Chinner cc: Christoph Hellwig cc: Cc: Wu Fengguang , LKML Subject: [PATCH 00/18] writeback fixes and cleanups for 2.6.40 (v3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Andrew, This is the combination of all the recent writeback patches that get reasonably reviewed and tested. The first 10 patches are already in -mm tree, with updates: - remove "writeback: pass writeback_control down to move_expired_inodes()", and resolve the resulting merge conflicts in other patches. - move ahead the sync livelock prevention patches (01, 02) so that (04) won't livelock sync - merge the three -mm fixes to (08) - fixed changelog of (01) - rename .for_sync to .tagged_writepages [PATCH 01/18] writeback: introduce .tagged_writepages for the WB_SYNC_NONE sync stage [PATCH 02/18] writeback: update dirtied_when for synced inode to prevent livelock [PATCH 03/18] writeback: introduce writeback_control.inodes_cleaned [PATCH 04/18] writeback: try more writeback as long as something was written [PATCH 05/18] writeback: the kupdate expire timestamp should be a moving target [PATCH 06/18] writeback: sync expired inodes first in background writeback [PATCH 07/18] writeback: refill b_io iff empty [PATCH 08/18] writeback: split inode_wb_list_lock into bdi_writeback.list_lock [PATCH 09/18] writeback: elevate queue_io() into wb_writeback() [PATCH 10/18] writeback: avoid extra sync work at enqueue time The following 8 patches were posted and reviewed these days: [PATCH 11/18] writeback: add bdi_dirty_limit() kernel-doc [PATCH 12/18] writeback: skip balance_dirty_pages() for in-memory fs [PATCH 13/18] writeback: remove writeback_control.more_io [PATCH 14/18] writeback: make writeback_control.nr_to_write straight [PATCH 15/18] writeback: remove .nonblocking and .encountered_congestion [PATCH 16/18] writeback: trace event writeback_single_inode [PATCH 17/18] writeback: trace event writeback_queue_io [PATCH 18/18] writeback: rearrange the wb_writeback() loop Thanks to Jan and Dave for the careful reviews! The patches are git pullable from git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback.git fs-writeback fs/block_dev.c | 16 +- fs/btrfs/extent_io.c | 2 - fs/ext4/inode.c | 4 +- fs/fs-writeback.c | 411 +++++++++++++++++++++----------------- fs/inode.c | 5 +- fs/nfs/write.c | 3 +- fs/xfs/linux-2.6/xfs_aops.c | 2 +- include/linux/backing-dev.h | 2 + include/linux/writeback.h | 14 +- include/trace/events/btrfs.h | 6 +- include/trace/events/ext4.h | 6 +- include/trace/events/writeback.h | 137 ++++++++++++-- mm/backing-dev.c | 30 ++- mm/filemap.c | 6 +- mm/page-writeback.c | 42 ++-- mm/rmap.c | 4 +- 16 files changed, 420 insertions(+), 270 deletions(-) Thanks, Fengguang