Re: [PATCH 01/10] IB/ehca: Support for multiple event queues

Joachim Fenkes
2007-07-16T20:35:06Z

Roland Dreier <rdreier@cisco.com> wrote on 16.07.2007 18:04:26:

> It seems not quite right to me for the driver to advertise nr_eqs
> completion vectors, but then if round-robin is turned on to ignore the
> consumer's decision about which vector to use.

The round-robin feature was primarily meant as a debug/evaluation feature;
it is not supposed to be active by default. ULP programmers can, for
example, quickly evaluate the performance increase that comp_vectors could
give them, without changing their code. Without this debug option, the
comp_vector policy is still up to the ULPs.

> Maybe if round-robin is turned on you should report 0 as the number of
> completion vectors?

That sounds like a reasonable idea -- I'll change that right away.

> Maybe the whole interface is broken and we should only be exposing
> policies to consumers instead of the specific vector?

If so, I think the policies should be handled by the IB core code instead
of being re-invented by each driver. The IB core would then again pass
actual comp_vector values to the driver.

> I think I would rather hold off on multiple EQs for this merge window
> and plan on having something really solid and thought-out for 2.6.24.

It's your call, but the code is there and I don't expect it to change a
lot later, so it could be used by others to get a first impression of
what's possible using comp_vectors and to gather some experience with
them.

Regards,
Joachim