aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2015-09-04 13:52:44 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-10-14 14:32:00 +0200
commit9a21268360f5438796fa935e0b2e9317187ef8f4 (patch)
treefb7f6013afc7f6f7bf72e3bca44dd30183374747 /drivers/s390/block
parents390/zcrypt: enable odd RSA modulus sizes in CRT format (diff)
downloadlinux-dev-9a21268360f5438796fa935e0b2e9317187ef8f4.tar.xz
linux-dev-9a21268360f5438796fa935e0b2e9317187ef8f4.zip
s390/dasd: mark DASD devices as non rotational
We were able to reduce the CPU overhead of big paging scenarios when announcing our paging disks as non-rotational. Almost all dasd devices are implemented in storage servers with cache, raid, striping and lots of magic. There is no point in optimizing the disk schedulers and swap code for a single platter moving arm rotational disks. Given the complexity of the setup and the fact that this change is mostly to disable the additional overhead in swap code, lets keep the other functionality unchanged and do not disable the this device as entropy source - unlike other non-rotational devices. Suggested-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block')
-rw-r--r--drivers/s390/block/dasd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index f73d2f579a7e..a263c10359e1 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -3030,6 +3030,7 @@ static void dasd_setup_queue(struct dasd_block *block)
} else {
max = block->base->discipline->max_blocks << block->s2b_shift;
}
+ queue_flag_set_unlocked(QUEUE_FLAG_NONROT, block->request_queue);
blk_queue_logical_block_size(block->request_queue,
block->bp_block);
blk_queue_max_hw_sectors(block->request_queue, max);