[openib-general] [PATCH][RFC] kDAPL: remove dat wrapper funct ion dat_ia_query()
James Lentini
jlentini at netapp.com
Mon Jun 13 15:03:56 PDT 2005
There is precedent for including a pointer to the function pointer
table in each top level object. The OpenIB stack does this; each IB
object (ib_pd, ib_qp, ib_mr, etc.) contain a pointer to the ib_device
structure. Of course I know that just because it was done before
doesn't make it right.
james
On Mon, 13 Jun 2005, James Lentini wrote:
>
>
> On Sun, 12 Jun 2005, Tom Duffy wrote:
>
>> On Sat, 2005-06-11 at 11:20 +0200, Christoph Hellwig wrote:
>>> Currently every dapl object embedds dapl_common which has a pointer
>>> to the dapl_ia. Now fixing that mess up a little every dat object
>>> can have a dat_ia pointer (without the utter _common braindamage)
>>> and there's one additional dereference, while saving one pointer per
>>> allocated object.
>>
>> The compiler should be smart enough to not make the access any more
>> costly since they contain that struct and don't have a pointer to it,
>
> I believe the "one additional dereference" Christoph was referring to occurs
> if we implement his proposal and define dat objects as follows:
>
> struct dat_ia {
> struct dat_provider *provider;
> union dat_context context;
> }
>
> struct dat_foo {
> struct dat_ia *ia;
> union dat_context context;
> }
>
>> but I do agree that the _common structure is not ideal and sorta ugly.
>
> I like it on the basis that if gathers up the common structure members in one
> place, hence making maintenance of these fields easier in the future.
> Granted, there are only two of them, so losing it wouldn't be a big deal.
>
>>
>> -tduffy
>>
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit
> http://openib.org/mailman/listinfo/openib-general
>
More information about the general
mailing list