summaryrefslogtreecommitdiffstats
path: root/src/drivers/infiniband/arbel.h
diff options
context:
space:
mode:
authorMichael Brown2010-09-18 23:37:54 +0200
committerMichael Brown2010-09-19 00:00:57 +0200
commit8cd2b170b6e1371b80de91496fa28dd91260b0e5 (patch)
tree05a0027373918e4fa1ffcbb27e64f19e8383726f /src/drivers/infiniband/arbel.h
parent[fc] Maintain port, peer and ULP lists in order of creation (diff)
downloadipxe-8cd2b170b6e1371b80de91496fa28dd91260b0e5.tar.gz
ipxe-8cd2b170b6e1371b80de91496fa28dd91260b0e5.tar.xz
ipxe-8cd2b170b6e1371b80de91496fa28dd91260b0e5.zip
[arbel] Minimise the number of VPM mapping operations
Mapping a single page at a time causes a several-second delay at device initialisation time. Reduce this by mapping multiple pages at a time, using the largest block sizes possible given the alignment constraints. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/infiniband/arbel.h')
-rw-r--r--src/drivers/infiniband/arbel.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/drivers/infiniband/arbel.h b/src/drivers/infiniband/arbel.h
index 45bd3720f..534115729 100644
--- a/src/drivers/infiniband/arbel.h
+++ b/src/drivers/infiniband/arbel.h
@@ -468,11 +468,12 @@ struct arbel {
size_t icm_aux_len;
/** ICM area */
userptr_t icm;
-
- /** Event queue */
- struct arbel_event_queue eq;
+ /** Offset within ICM of doorbell records */
+ size_t db_rec_offset;
/** Doorbell records */
union arbelprm_doorbell_record *db_rec;
+ /** Event queue */
+ struct arbel_event_queue eq;
/** Unrestricted LKey
*
* Used to get unrestricted memory access.