2008-11-27 12:03:30

by Richard Kennedy

[permalink] [raw]
Subject: [PATCH] mm: 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 <[email protected]>
---
Hi Neil,
This compiles but hasn't had any testing, as I don't have a raid to test
it on.
patch against 2.6.28-rc6.
regards
Richard



diff --git a/include/linux/bio.h b/include/linux/bio.h
index 6a64209..e6789b2 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)