[openib-general] Re: Re: RFC: e2e credits
Michael S. Tsirkin
mst at mellanox.co.il
Tue Mar 14 13:37:51 PST 2006
Quoting r. Sean Hefty <sean.hefty at intel.com>:
> Subject: RE: Re: RFC: e2e credits
>
> >> As far as I can tell, it doesn't do anything. Flow control is a parameter of
> >> the IB CM REQ/REP messages, so are exposed to the user.
> >>
> >> I don't see how a user can make use of it in any practical way, however. It
> >> isn't used to configure anything on the QP from what I can tell.
> >
> >So we can either add an ability to enable flow control per RQ,
> >or remove this option altogether.
>
> I'm fine with doing this, but it requires changes to the spec wrt to the
> definition of the flow control field in the CM messages.
I thought about this, and I noted that with current CM
the flow control flag is already set by ULP, per connection.
I currently don't see this as spec violation: there's no compliance statement
that requires this bit to have the same value for all connections. The spec
says:
"Signifies whether the local CA actually implements End-to-End Flow Control
(1), or instead always advertises .invalid credits.(0)."
and we just take this meaning, with a clarification: "for this connection".
Anyway, we have two options: removing this field from CM/CMA,
and adding it as a low-level driver module option, or adding
it to ib_qp_init_attr?
In the later case, I think we can avoid ABI breakage by packing this
flag in unused space near other flags.
Personally, I think the second option is the less disruptive: it moves the
policy of using the hardware flow control out to the ULPs, even if I can't come
up with an example where this is useful - there's close to zero overhead to have
it either.
And I think me and Roland share an aversion to module options - they tend to
get out of hand pretty quickly.
--
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies
More information about the general
mailing list