diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-14 20:55:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-14 20:55:15 -0400 |
commit | 355bbd8cb82e60a592f6cd86ce6dbe5677615cf4 (patch) | |
tree | 23678e50ad4687f1656edc972388ee8014e7b89d /block/blk-settings.c | |
parent | 39695224bd84dc4be29abad93a0ec232a16fc519 (diff) | |
parent | 746cd1e7e4a555ddaee53b19a46e05c9c61eaf09 (diff) |
Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block: (29 commits)
block: use blkdev_issue_discard in blk_ioctl_discard
Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads
block: don't assume device has a request list backing in nr_requests store
block: Optimal I/O limit wrapper
cfq: choose a new next_req when a request is dispatched
Seperate read and write statistics of in_flight requests
aoe: end barrier bios with EOPNOTSUPP
block: trace bio queueing trial only when it occurs
block: enable rq CPU completion affinity by default
cfq: fix the log message after dispatched a request
block: use printk_once
cciss: memory leak in cciss_init_one()
splice: update mtime and atime on files
block: make blk_iopoll_prep_sched() follow normal 0/1 return convention
cfq-iosched: get rid of must_alloc flag
block: use interrupts disabled version of raise_softirq_irqoff()
block: fix comment in blk-iopoll.c
block: adjust default budget for blk-iopoll
block: fix long lines in block/blk-iopoll.c
block: add blk-iopoll, a NAPI like approach for block devices
...
Diffstat (limited to 'block/blk-settings.c')
-rw-r--r-- | block/blk-settings.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/block/blk-settings.c b/block/blk-settings.c index 476d87065073..83413ff83739 100644 --- a/block/blk-settings.c +++ b/block/blk-settings.c | |||
@@ -428,6 +428,25 @@ void blk_queue_io_min(struct request_queue *q, unsigned int min) | |||
428 | EXPORT_SYMBOL(blk_queue_io_min); | 428 | EXPORT_SYMBOL(blk_queue_io_min); |
429 | 429 | ||
430 | /** | 430 | /** |
431 | * blk_limits_io_opt - set optimal request size for a device | ||
432 | * @limits: the queue limits | ||
433 | * @opt: smallest I/O size in bytes | ||
434 | * | ||
435 | * Description: | ||
436 | * Storage devices may report an optimal I/O size, which is the | ||
437 | * device's preferred unit for sustained I/O. This is rarely reported | ||
438 | * for disk drives. For RAID arrays it is usually the stripe width or | ||
439 | * the internal track size. A properly aligned multiple of | ||
440 | * optimal_io_size is the preferred request size for workloads where | ||
441 | * sustained throughput is desired. | ||
442 | */ | ||
443 | void blk_limits_io_opt(struct queue_limits *limits, unsigned int opt) | ||
444 | { | ||
445 | limits->io_opt = opt; | ||
446 | } | ||
447 | EXPORT_SYMBOL(blk_limits_io_opt); | ||
448 | |||
449 | /** | ||
431 | * blk_queue_io_opt - set optimal request size for the queue | 450 | * blk_queue_io_opt - set optimal request size for the queue |
432 | * @q: the request queue for the device | 451 | * @q: the request queue for the device |
433 | * @opt: optimal request size in bytes | 452 | * @opt: optimal request size in bytes |
@@ -442,7 +461,7 @@ EXPORT_SYMBOL(blk_queue_io_min); | |||
442 | */ | 461 | */ |
443 | void blk_queue_io_opt(struct request_queue *q, unsigned int opt) | 462 | void blk_queue_io_opt(struct request_queue *q, unsigned int opt) |
444 | { | 463 | { |
445 | q->limits.io_opt = opt; | 464 | blk_limits_io_opt(&q->limits, opt); |
446 | } | 465 | } |
447 | EXPORT_SYMBOL(blk_queue_io_opt); | 466 | EXPORT_SYMBOL(blk_queue_io_opt); |
448 | 467 | ||