[GIT PULL] Block IO core bits for 3.9

From: Jens Axboe
Date: Thu Feb 28 2013 - 09:43:32 EST


Hi Linus,

Below are the core block IO bits for 3.9. It was delayed a few days
since my workstation kept crashing every 2-8h after pulling it into
current -git, but turns out it is a bug in the new pstate code (divide
by zero, will report separately). In any case, it contains:

- The big cfq/blkcg update from Tejun and and Vivek.

- Additional block and writeback tracepoints from Tejun.

- Improvement of the should sort (based on queues) logic in the plug
flushing.

- _io() variants of the wait_for_completion() interface, using
io_schedule() instead of schedule() to contribute to io wait properly.

- Various little fixes.

You'll get two trivial merge conflicts, which should be easy enough to
fix up.

Please pull!

git://git.kernel.dk/linux-block.git for-3.9/core




Cong Ding (1):
drivers/block/swim3.c: fix null pointer dereference

Glauber Costa (1):
cfq: fix lock imbalance with failed allocations

Guo Chao (2):
block: use i_size_write() in bd_set_size()
block: remove redundant check to bd_openers()

Jens Axboe (1):
Merge branch 'blkcg-cfq-hierarchy' of git://git.kernel.org/.../tj/cgroup into for-3.9/core

Jianpeng Ma (1):
block: Remove should_sort judgement when flush blk_plug

Mikulas Patocka (1):
block: don't select PERCPU_RWSEM

Sasha Levin (1):
block,elevator: use new hashtable implementation

Tejun Heo (24):
blkcg: fix minor bug in blkg_alloc()
blkcg: reorganize blkg_lookup_create() and friends
blkcg: cosmetic updates to blkg_create()
blkcg: make blkcg_gq's hierarchical
cfq-iosched: add leaf_weight
cfq-iosched: implement cfq_group->nr_active and ->children_weight
cfq-iosched: implement hierarchy-ready cfq_group charge scaling
cfq-iosched: convert cfq_group_slice() to use cfqg->vfraction
cfq-iosched: enable full blkcg hierarchy support
blkcg: add blkg_policy_data->plid
blkcg: implement blkcg_policy->on/offline_pd_fn() and blkcg_gq->online
blkcg: s/blkg_rwstat_sum()/blkg_rwstat_total()/
blkcg: export __blkg_prfill_rwstat()
blkcg: implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge()
block: RCU free request_queue
blkcg: make blkcg_print_blkgs() grab q locks instead of blkcg lock
cfq-iosched: separate out cfqg_stats_reset() from cfq_pd_reset_stats()
cfq-iosched: collect stats from dead cfqgs
cfq-iosched: add hierarchical cfq_group statistics
block: add missing block_bio_complete() tracepoint
block: add @req to bio_{front|back}_merge tracepoints
buffer: make touch_buffer() an exported function
block: add block_{touch|dirty}_buffer tracepoint
writeback: add more tracepoints

Vivek Goyal (6):
cfq-iosched: Properly name all references to IO class
cfq-iosched: More renaming to better represent wl_class and wl_type
cfq-iosched: Rename "service_tree" to "st" at some places
cfq-iosched: Rename few functions related to selecting workload
cfq-iosched: Get rid of unnecessary local variable
cfq-iosched: Print sync-noidle information in blktrace messages

Vladimir Davydov (2):
sched: add wait_for_completion_io[_timeout]
block: account iowait time when waiting for completion of IO request

Documentation/block/cfq-iosched.txt | 58 +++
Documentation/cgroups/blkio-controller.txt | 35 +-
block/Kconfig | 1 -
block/blk-cgroup.c | 277 +++++++++++--
block/blk-cgroup.h | 68 +++-
block/blk-core.c | 18 +-
block/blk-exec.c | 4 +-
block/blk-flush.c | 2 +-
block/blk-lib.c | 6 +-
block/blk-sysfs.c | 9 +-
block/blk.h | 2 +-
block/cfq-iosched.c | 629 +++++++++++++++++++++++------
block/elevator.c | 23 +-
drivers/block/swim3.c | 5 +-
drivers/md/dm.c | 1 -
drivers/md/raid5.c | 11 +-
fs/bio.c | 2 +
fs/block_dev.c | 6 +-
fs/buffer.c | 10 +
fs/fs-writeback.c | 16 +-
include/linux/blkdev.h | 3 +-
include/linux/blktrace_api.h | 1 +
include/linux/buffer_head.h | 2 +-
include/linux/completion.h | 3 +
include/linux/elevator.h | 5 +-
include/trace/events/block.h | 104 ++++-
include/trace/events/writeback.h | 116 ++++++
kernel/sched/core.c | 57 ++-
kernel/trace/blktrace.c | 28 +-
mm/page-writeback.c | 2 +
30 files changed, 1246 insertions(+), 258 deletions(-)

--
Jens Axboe

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