Peter Zijlstra wrote: > On Fri, 2008-02-15 at 11:46 -0500, Gregory Haskins wrote: > > >> but perhaps you can convince me that it is not needed? >> (i.e. I am still not understanding how the timer guarantees the stability). >> > > ok, let me try again. > > So we take rq->lock, at this point we know rd is valid. > We also know the timer is active. > > So when we release it, the last reference can be dropped and we end up > in the hrtimer_cancel(), right before the kfree(). > > hrtimer_cancel() will wait for the timer to end. therefore delaying the > kfree() until the running timer finished. > > Ok, I see it now. I agree that I think it is safe. Thanks! -Greg