Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[BLOCK] mark some block/ variables cons

the patch below marks various read-only variables in block/* as const,
so that gcc can optimize the use of them; eg gcc will replace the use by
the value directly now and will even remove the memory usage of these.

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Jens Axboe <axboe@suse.de>

authored by

Arjan van de Ven and committed by
Jens Axboe
64100099 80cfd548

+14 -14
+8 -8
block/cfq-iosched.c
··· 25 25 /* 26 26 * tunables 27 27 */ 28 - static int cfq_quantum = 4; /* max queue in one round of service */ 29 - static int cfq_queued = 8; /* minimum rq allocate limit per-queue*/ 30 - static int cfq_fifo_expire[2] = { HZ / 4, HZ / 8 }; 31 - static int cfq_back_max = 16 * 1024; /* maximum backwards seek, in KiB */ 32 - static int cfq_back_penalty = 2; /* penalty of a backwards seek */ 28 + static const int cfq_quantum = 4; /* max queue in one round of service */ 29 + static const int cfq_queued = 8; /* minimum rq allocate limit per-queue*/ 30 + static const int cfq_fifo_expire[2] = { HZ / 4, HZ / 8 }; 31 + static const int cfq_back_max = 16 * 1024; /* maximum backwards seek, in KiB */ 32 + static const int cfq_back_penalty = 2; /* penalty of a backwards seek */ 33 33 34 - static int cfq_slice_sync = HZ / 10; 34 + static const int cfq_slice_sync = HZ / 10; 35 35 static int cfq_slice_async = HZ / 25; 36 - static int cfq_slice_async_rq = 2; 36 + static const int cfq_slice_async_rq = 2; 37 37 static int cfq_slice_idle = HZ / 100; 38 38 39 39 #define CFQ_IDLE_GRACE (HZ / 10) ··· 45 45 /* 46 46 * disable queueing at the driver/hardware level 47 47 */ 48 - static int cfq_max_depth = 2; 48 + static const int cfq_max_depth = 2; 49 49 50 50 /* 51 51 * for the hash of cfqq inside the cfqd
+4 -4
block/deadline-iosched.c
··· 19 19 /* 20 20 * See Documentation/block/deadline-iosched.txt 21 21 */ 22 - static int read_expire = HZ / 2; /* max time before a read is submitted. */ 23 - static int write_expire = 5 * HZ; /* ditto for writes, these limits are SOFT! */ 24 - static int writes_starved = 2; /* max times reads can starve a write */ 25 - static int fifo_batch = 16; /* # of sequential requests treated as one 22 + static const int read_expire = HZ / 2; /* max time before a read is submitted. */ 23 + static const int write_expire = 5 * HZ; /* ditto for writes, these limits are SOFT! */ 24 + static const int writes_starved = 2; /* max times reads can starve a write */ 25 + static const int fifo_batch = 16; /* # of sequential requests treated as one 26 26 by the above parameters. For throughput. */ 27 27 28 28 static const int deadline_hash_shift = 5;
+1 -1
block/ll_rw_blk.c
··· 1039 1039 1040 1040 EXPORT_SYMBOL(blk_queue_invalidate_tags); 1041 1041 1042 - static char *rq_flags[] = { 1042 + static const char * const rq_flags[] = { 1043 1043 "REQ_RW", 1044 1044 "REQ_FAILFAST", 1045 1045 "REQ_SORTED",
+1 -1
block/scsi_ioctl.c
··· 46 46 47 47 static int sg_get_version(int __user *p) 48 48 { 49 - static int sg_version_num = 30527; 49 + static const int sg_version_num = 30527; 50 50 return put_user(sg_version_num, p); 51 51 } 52 52