[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>
This commit is contained in:
Michael Brown
2010-09-18 22:37:54 +01:00
parent 24efbaefe7
commit 8cd2b170b6
2 changed files with 129 additions and 50 deletions

View File

@@ -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.