[Openib-windows] [RFC] Resource destruction

Fabian Tillier ftillier at silverstorm.com
Wed Sep 21 14:12:46 PDT 2005


Folks,

Thinking more about the object destruction in the async kernel verb
model, I'm leaning towards not failing destruction when an object
still has references on it.  Note that this doesn't mean that
destruction is cascading as in the current implementation, just that
the IRP provided for the destruction won't complete until all
references on the object are released.

Since the reference count is going to be exposed, it is easy for
clients to check their reference count themselves and provide ordering
if they so choose.

The results of this change would be that resource destruction could be
initiated in any order, but would proceed only in the proper order. 
This seems like the least restrictive model without requiring undue
complexity.

Currently, an object would check its reference count and fail a
destroy request if it is > 1 (assuming one internal reference for
object lifetime).  With this change, the IRP would be queued, the
lifetime reference released, and once the reference count reaches
zero, the command would be processed and the IRP completed.

Any objections?

- Fab



More information about the ofw mailing list