[Openib-windows] [PATCH] MT23108: Fix large buffer memoryregistration

Guy Corem guyc at voltaire.com
Sun May 14 02:17:54 PDT 2006


No, everything is working fine.

Thanks again,
Guy

-----Original Message-----
From: ftillier.sst at gmail.com [mailto:ftillier.sst at gmail.com] On Behalf
Of Fabian Tillier
Sent: Thursday, May 11, 2006 6:59 PM
To: Guy Corem
Cc: openib-windows at openib.org
Subject: Re: [Openib-windows] [PATCH] MT23108: Fix large buffer
memoryregistration

Hi Guy,

On 5/11/06, Guy Corem <guyc at voltaire.com> wrote:
>
> I'm worried about the following line:
> new_iobuf->va = va;

That line is fine - the MR starts at va, though the underlying pages
that make up the MR started at va & (PAGE_SIZE - 1).  The VA here is
what ends up being used as the starting address, rightfully so.  The
fact that the VA and base address of the first page of the MR might
not be the same is OK.

So we want an MR with va and size.  We need to pin down all the pages
spanned by this range, with each page referenced only once.

So we round down the starting address and round up the size to page
boundaries, and use these rounded values to pin the memory (since
pinning works on whole pages).  I didn't see any place where the
starting VA in the MDL was used, only the page array, used in
MOSAL_iobuf_get_tpt.

Maybe this doesn't help?  What exactly worries you?  Is there
something that doesn't look right?

- Fab



More information about the ofw mailing list