[GIT PULL] Core block IO bits for 3.19
From: Jens Axboe
Date: Fri Dec 12 2014 - 22:02:39 EST
Hi Linus,
This is the pull request for the core block IO changes for 3.19. Not a
huge round this time, mostly lots of little good fixes. The pull request
contains:
- Fix a bug in sysfs blktrace interface causing a NULL pointer
dereference, when enabled/disabled through that API. From Arianna
Avanzini.
- Various updates/fixes/improvements for blk-mq:
- A set of updates from Bart, mostly fixing buts in the tag
handling.
- Cleanup/code consolidation from Christoph.
- Extend queue_rq API to be able to handle batching issues of IO
requests. NVMe will utilize this shortly. From me.
- A few tag and request handling updates from me.
- Cleanup of the preempt handling for running queues from Paolo.
- Prevent running of unmapped hardware queues from Ming Lei.
- Move the kdump memory limiting check to be in the correct
location, from Shaohua.
- Initialize all software queues at init time from Takashi. This
prevents a kobject warning when CPUs are brought online that
weren't online when a queue was registered.
- Single writeback fix for I_DIRTY clearing from Tejun. Queued with the
core IO changes, since it's just a single fix.
- Version X of the __bio_add_page() segment addition retry from
Maurizio. Hope the Xth time is the charm.
- Documentation fixup for IO scheduler merging from Jan.
- Introduce (and use) generic IO stat accounting helpers for non-rq
drivers, from Gu Zheng.
- Kill off artificial limiting of max sectors in a request from
Christoph.
Please pull!
git://git.kernel.dk/linux-block.git for-3.19/core
----------------------------------------------------------------
Arianna Avanzini (1):
blktrace: don't let the sysfs interface remove trace from running list
Bart Van Assche (6):
blk-mq: fix hang in bt_get()
blk-mq: Fix a use-after-free
blk-mq: Avoid that __bt_get_word() wraps multiple times
blk-mq: Fix a race between bt_clear_tag() and bt_get()
blk-mq: Micro-optimize bt_get()
blk-mq: Use all available hardware queues
Christoph Hellwig (2):
block: remove artifical max_hw_sectors cap
blk-mq: handle the single queue case in blk_mq_hctx_next_cpu
Gu Zheng (1):
blk: introduce generic io stat accounting help function
Jan Kara (1):
block: Expand a bit documentation about elevator_allow_merge_fn
Jens Axboe (8):
blk-mq: add a 'list' parameter to ->queue_rq()
blk-mq: add BLK_MQ_F_DEFER_ISSUE support flag
blk-mq: export blk_mq_free_request()
blk-mq: add blk_mq_free_hctx_request()
genhd: check for int overflow in disk_expand_part_tbl()
blk-mq: use 'nr_cpu_ids' as highest CPU ID count for hwq <-> cpu map
blk-mq: cleanup tag free handling
blk-mq: re-check for available tags after running the hardware queue
Maurizio Lombardi (1):
bio: modify __bio_add_page() to accept pages that don't start a new segment
Ming Lei (1):
blk-mq: prevent unmapped hw queue from being scheduled
Paolo Bonzini (2):
blk_mq: call preempt_disable/enable in blk_mq_run_hw_queue, and only if needed
blk-mq: use get_cpu/put_cpu instead of preempt_disable/preempt_enable
Shaohua Li (1):
blk-mq: move the kdump check to blk_mq_alloc_tag_set
Takashi Iwai (1):
blk-mq: Fix uninitialized kobject at CPU hotplugging
Tejun Heo (1):
writeback: fix a subtle race condition in I_DIRTY clearing
Documentation/block/biodoc.txt | 6 +-
block/bio.c | 82 +++++++++++++++++--------
block/blk-core.c | 3 +
block/blk-mq-cpumap.c | 4 +-
block/blk-mq-sysfs.c | 9 ++-
block/blk-mq-tag.c | 60 +++++++++---------
block/blk-mq.c | 126 ++++++++++++++++++++++++--------------
block/blk-mq.h | 5 ++
block/blk-settings.c | 4 +-
block/blk-sysfs.c | 12 ++--
block/genhd.c | 11 +++-
drivers/block/aoe/aoeblk.c | 2 +-
drivers/block/mtip32xx/mtip32xx.c | 5 +-
drivers/block/null_blk.c | 10 +--
drivers/block/virtio_blk.c | 7 ++-
drivers/scsi/scsi_lib.c | 5 +-
fs/fs-writeback.c | 29 ++++++---
include/linux/bio.h | 5 ++
include/linux/blk-mq.h | 10 ++-
include/linux/blkdev.h | 1 -
kernel/trace/blktrace.c | 3 -
21 files changed, 254 insertions(+), 145 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/