[openib-general] ia64 perf and FMR

Grant Grundler iod00d at hp.com
Mon Apr 4 08:29:05 PDT 2005


On Mon, Apr 04, 2005 at 07:06:53AM -0700, Roland Dreier wrote:
> A memory region (MR) is a memory translation mapping in the HCA's
> context.  Usually, we create MRs via a firmware command, which is
> prohibitively expensive to do in the data path.  However, it is
> possible for the driver to write directly into the HCA's context,
> bypassing the firmware.  This is very cheap, just some posted writes,
> and so we can do it in the data path.  For example, for AIO, SDP uses
> this to map a bunch of random userspace pages into something virtually
> contiguous in the HCA's memory map, so that it can be used as for RDMA.

Thanks! I understood about 1/2 of that before. I'd like to read
a bit more detail though...

> However this shouldn't affect IPoIB in the least since a) it doesn't
> do any dynamic memory registration and b) it doesn't call any FMR
> functions anyway.

*nod* - FMR is clearly a red herring in this case.

> This is really odd.  I don't see how FMRs could directly change IPoIB
> performance, since IPoIB isn't using FMRs, even indirectly.

Sorry - I said "FMR" when I should have said r210x release. FMR
was just recently committed and I assumed (there's that word again)
that was related somehow. My bad.

> If SDP is
> not loaded, then I don't see how it could be used, but the fact that
> you get the same number for SDP and IPoIB really makes me think that
> the IPoIB number is really an SDP number.

Nope - those really where IPoIB numbers.

...
> The one that might make a difference is struct mthca_eqe in
> mthca_eq.c.  Unfortunately simply removing the packed attribute will
> break things on 64 bit archs unless the structure is written slightly
> differently.  It shouldn't be that difficult, so I should have
> something for you to test in a day or two.

Ok. I won't be able to test that until next week...I'll note which
rev picks that up and make sure to test it seperately.

BTW, SDP uses "packed" for a dozen or so structures. I haven't looked
at any q-syscollect or pfmon data yet to see where SDP is spending time
or if "packed" is part of the code path. But I don't have the impression
SDP is CPU bound like IPoIB is.

thanks,
grant



More information about the general mailing list