[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