diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c
index 9c4208f6b45154e3b4d393390b1a4ffe28e84342..37dab2898ad013bc6f9aec091935bc6a891e790d 100644
--- a/net/rds/ib_recv.c
+++ b/net/rds/ib_recv.c
@@ -1051,13 +1051,13 @@ int __init rds_ib_recv_init(void)
 
 	rds_ib_incoming_slab = kmem_cache_create("rds_ib_incoming",
 					sizeof(struct rds_ib_incoming),
-					0, 0, NULL);
+					0, SLAB_HWCACHE_ALIGN, NULL);
 	if (!rds_ib_incoming_slab)
 		goto out;
 
 	rds_ib_frag_slab = kmem_cache_create("rds_ib_frag",
 					sizeof(struct rds_page_frag),
-					0, 0, NULL);
+					0, SLAB_HWCACHE_ALIGN, NULL);
 	if (!rds_ib_frag_slab)
 		kmem_cache_destroy(rds_ib_incoming_slab);
 	else