[Pvfs2-developers] Re: the halloween bug fixed
pcarns at wastedcycles.org
Thu Oct 11 12:22:26 EDT 2007
> Hi Phil,
> I can add a server flag to the tcp addr struct, and only call
> forget_addr in that case, but it seems like a bit of hack. Can we just
> toss the ref list in the bmi control layer and force methods to manage
> their addresses? The ref list is only being used to map an opaque
> address pointer to a particular method. Could we just make the address
> pointer not opaque and encode the method in there somehow?
Sure- in that case neither callback is needed. I was just commenting on
the current patch in case it ended up hanging around for a bit.
I don't see any reason for keeping the ref list around. There is
already essentially an integer identifier for each method- you could use
the index into the "static_methods" table since it never changes at run
time. You would just need a way to incorporate it into the BMI_addr_t.
The id_gen_safe* functions are already handing out identifiers linearly
for BMI_addr_t types. You could just cap that value at some huge number
as a safety check and add a safe register function with an extra
argument to let it throw an identifier into the spare bits.
It seems like the painful part would be updating the code to consolidate
the method addr and reference structure into a single unit, although
there may not be that much useful in the reference structure to carry over.
More information about the Pvfs2-developers