diff options
author | Richard Kennedy <richard@rsk.demon.co.uk> | 2010-02-22 07:49:24 -0500 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2010-02-22 07:49:24 -0500 |
commit | c4081ba5c9f6f7bdffe49e501a8604a2c0797ef9 (patch) | |
tree | 2c2f59a61dc7a68088ff36262de3834b46334477 /block | |
parent | f11cbd74c5ff3614f6390b4de67a6ffdc614c378 (diff) |
cfq: reorder cfq_queue removing padding on 64bit
This removes 8 bytes of padding from struct cfq_queue on 64 bit builds,
shrinking it's size to 256 bytes, so fitting into 1 fewer cachelines and
allowing 1 more object/slab in it's kmem_cache.
Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
----
patch against 2.6.33-rc8
tested on x86_64 AMDX2
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/cfq-iosched.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 023f4e69a337..e3dedfd3bcb4 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -115,11 +115,11 @@ struct cfq_queue { | |||
115 | /* time when queue got scheduled in to dispatch first request. */ | 115 | /* time when queue got scheduled in to dispatch first request. */ |
116 | unsigned long dispatch_start; | 116 | unsigned long dispatch_start; |
117 | unsigned int allocated_slice; | 117 | unsigned int allocated_slice; |
118 | unsigned int slice_dispatch; | ||
118 | /* time when first request from queue completed and slice started. */ | 119 | /* time when first request from queue completed and slice started. */ |
119 | unsigned long slice_start; | 120 | unsigned long slice_start; |
120 | unsigned long slice_end; | 121 | unsigned long slice_end; |
121 | long slice_resid; | 122 | long slice_resid; |
122 | unsigned int slice_dispatch; | ||
123 | 123 | ||
124 | /* pending metadata requests */ | 124 | /* pending metadata requests */ |
125 | int meta_pending; | 125 | int meta_pending; |
@@ -130,13 +130,13 @@ struct cfq_queue { | |||
130 | unsigned short ioprio, org_ioprio; | 130 | unsigned short ioprio, org_ioprio; |
131 | unsigned short ioprio_class, org_ioprio_class; | 131 | unsigned short ioprio_class, org_ioprio_class; |
132 | 132 | ||
133 | pid_t pid; | ||
134 | |||
133 | unsigned int seek_samples; | 135 | unsigned int seek_samples; |
134 | u64 seek_total; | 136 | u64 seek_total; |
135 | sector_t seek_mean; | 137 | sector_t seek_mean; |
136 | sector_t last_request_pos; | 138 | sector_t last_request_pos; |
137 | 139 | ||
138 | pid_t pid; | ||
139 | |||
140 | struct cfq_rb_root *service_tree; | 140 | struct cfq_rb_root *service_tree; |
141 | struct cfq_queue *new_cfqq; | 141 | struct cfq_queue *new_cfqq; |
142 | struct cfq_group *cfqg; | 142 | struct cfq_group *cfqg; |