summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Kennedy <richard@rsk.demon.co.uk>2008-12-03 12:41:40 +0100
committerJens Axboe <jens.axboe@oracle.com>2008-12-29 08:28:44 +0100
commitba744d5e290055d171c68067259fcc1e2721f542 (patch)
tree0a242e1ceae3b4ddcac77592819c455c61ff5a24
parentblock: use cancel_work_sync() instead of kblockd_flush_work() (diff)
downloadlinux-ba744d5e290055d171c68067259fcc1e2721f542.tar.xz
linux-ba744d5e290055d171c68067259fcc1e2721f542.zip
block: reorder struct bio to remove padding on 64bit
Remove 8 bytes of padding from struct bio which also removes 16 bytes from struct bio_pair to make it 248 bytes. bio_pair then fits into one fewer cache lines & into a smaller slab. Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--include/linux/bio.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h
index cf132bfbbacf..3ed714eb54d9 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -90,10 +90,11 @@ struct bio {
unsigned int bi_comp_cpu; /* completion CPU */
+ atomic_t bi_cnt; /* pin count */
+
struct bio_vec *bi_io_vec; /* the actual vec list */
bio_end_io_t *bi_end_io;
- atomic_t bi_cnt; /* pin count */
void *bi_private;
#if defined(CONFIG_BLK_DEV_INTEGRITY)