[openib-general] mthca and DDR not hidden
Roland Dreier
roland at topspin.com
Thu Sep 30 12:10:13 PDT 2004
Hal> I attempted to send UD and got stopped by the following in mthca_av.c:
Hal> int mthca_read_ah(struct mthca_dev *dev, struct mthca_ah *ah,
Hal> struct ib_ud_header *header)
Hal> {
Hal> if (ah->on_hca)
Hal> return -EINVAL;
Hal> on_hca is set due to the following in mthca_create_ah:
Hal> if (!atomic_read(&pd->sqp_count) &&
Hal> !(dev->mthca_flags & MTHCA_FLAG_DDR_HIDDEN)) {
[...]
Hal> ah->on_hca = 1;
Hal> Is it a requirement to run the HCA with DDR hidden ?
Notice that on_hca won't be set if either the DDR is hidden _or_ the
PD being used has special QPs attached. We only need to reread the AH
for sends on QP0/QP1 (not general UD QPs), so this shouldn't be a
problem in practice. Are you using the same PD for your QPs and AHs
(they have to match for correct operation)?
I run nearly all of my HCAs without the DDR hidden and it works fine.
Hal> Is there a way to get the AH when the DDR is not hidden ? If so, should
Hal> this support be added into mthca ?
Yes, it's possible. However I don't think it's urgent because things
should work fine as it stands now. The only issue seems to be that we
may not generate the correct error when an AH from a different PD is
used on QP0/QP1.
- Roland
More information about the general
mailing list