[GIT PULL] Block IO changes for -rc1

From: Jens Axboe
Date: Wed Jun 11 2014 - 10:17:17 EST


Hi Linus,

Final small batch of fixes to be included before -rc1. Some general
cleanups in here as well, but some of the blk-mq fixes we need for the
NVMe conversion and/or scsi-mq. The pull request contains:

- Support for not merging across a specified "chunk size", if set by the
driver. Some NVMe devices perform poorly for IO that crosses such a
chunk, so we need to support it generically as part of request merging
avoid having to do complicated split logic. From me.

- Bump max tag depth to 10Ki tags. Some scsi devices have a huge shared
tag space. Before we failed with EINVAL if a too large tag depth was
specified, now we truncate it and pass back the actual value. From me.

- Various blk-mq rq init fixes from me and others.

- A fix for enter on a dying queue for blk-mq from Keith. This is needed
to prevent oopsing on hot device removal.

- Fixup for blk-mq timer addition from Ming Lei.

- Small round of performance fixes for mtip32xx from Sam Bradshaw.

- Minor stack leak fix from Rickard Strandqvist.

- Two __init annotations from Fabian Frederick.


Please pull!


git://git.kernel.dk/linux-block.git for-linus

----------------------------------------------------------------
Fabian Frederick (2):
block: add __init to elv_register
block: add __init to blkcg_policy_register

Jens Axboe (6):
block: add notion of a chunk size for request merging
block: add blk_rq_set_block_pc()
blk-mq: bump max tag depth to 10K tags
blk-mq: ->timeout should be cleared in blk_mq_rq_ctx_init()
blk-mq: always initialize request->start_time
block: ensure that bio_add_page() always accepts a page for an empty bio

Keith Busch (1):
blk-mq: don't allow queue entering for a dying queue

Ming Lei (1):
blk-mq: add timer in blk_mq_start_request

Rickard Strandqvist (1):
block: blk-exec.c: Cleaning up local variable address returnd

Sam Bradshaw (1):
mtip32xx: minor performance enhancements

block/bio.c | 8 +++++-
block/blk-cgroup.c | 2 +-
block/blk-cgroup.h | 4 +--
block/blk-core.c | 18 ++++++++++++
block/blk-exec.c | 5 ++++
block/blk-mq.c | 43 ++++++++++++++---------------
block/blk-settings.c | 21 ++++++++++++++
block/bsg.c | 3 +-
block/elevator.c | 2 +-
block/scsi_ioctl.c | 6 ++--
drivers/block/mtip32xx/mtip32xx.c | 15 ++++++----
drivers/block/mtip32xx/mtip32xx.h | 8 +++---
drivers/block/pktcdvd.c | 2 +-
drivers/cdrom/cdrom.c | 2 +-
drivers/scsi/device_handler/scsi_dh_alua.c | 2 +-
drivers/scsi/device_handler/scsi_dh_emc.c | 2 +-
drivers/scsi/device_handler/scsi_dh_hp_sw.c | 4 +--
drivers/scsi/device_handler/scsi_dh_rdac.c | 2 +-
drivers/scsi/osd/osd_initiator.c | 4 +--
drivers/scsi/osst.c | 2 +-
drivers/scsi/scsi_error.c | 3 +-
drivers/scsi/scsi_lib.c | 2 +-
drivers/scsi/sg.c | 3 +-
drivers/scsi/st.c | 2 +-
drivers/target/target_core_pscsi.c | 3 +-
include/linux/blk-mq.h | 2 +-
include/linux/blkdev.h | 23 ++++++++++++++-
include/linux/elevator.h | 2 +-
28 files changed, 135 insertions(+), 60 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/