On Thu, 4 Aug 2005, Guy German wrote:
James,
I see what you mean.
The allocation of the event vector is derived from evd->qlen.
In DTO ev'd, however, qlen is also the parameter passed to
ib_create_cq.
Since we don't want to limit DAPL consumers to an
unnecessary small completion queue size, maybe we
could differentiate between DTO supporting evd's and
CONN evd's, when allocating the events vector.
if evd supports CONN only, leave it :
event = kmalloc(evd->qlen * sizeof *event)
(Relying on the consumer he knows what he is doing)
if evd is DTO only :
don't allocate an event buffer, at all
if evd supports both :
event = kmalloc(DEFAULT_4_CONN * sizeof *event)
And dynamically add additional events up to qlen as needed?
if DEFAULT_4_CONN=256, that's a 3 pages allocation.
How does that sound to you ?
I'd prefer that the EVDs were uniform. I would worry about bugs
otherwise.
The eventual solution has to support qlen generated events (connection
request, connection, disconnect, software) if those event types are
supported by the EVD (even if the EVD is being used for both generated
events and DTOs).
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general