[openib-general][kdapl]: vmalloc instead of kmalloc
James Lentini
jlentini at netapp.com
Thu Aug 4 13:30:30 PDT 2005
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).
More information about the general
mailing list