This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] [PATCH 2.6.37-rc5-tip 4/20] 4: uprobes: Adding and remove a uprobe in a rb tree.


On Wed, 2011-01-26 at 14:11 +0530, Srikar Dronamraju wrote:
> * Peter Zijlstra <peterz@infradead.org> [2011-01-25 13:15:42]:
> 
> > On Thu, 2010-12-16 at 15:28 +0530, Srikar Dronamraju wrote:
> > > +/* Should be called lock-less */
> > > +static void put_uprobe(struct uprobe *uprobe)
> > > +{
> > > +       if (atomic_dec_and_test(&uprobe->ref))
> > > +               kfree(uprobe);
> > > +} 
> > 
> > Since this instantly frees the uprobe once ref hits 0, the
> > atomic_inc_not_zero() in find_uprobe() doesn't really make sense does
> > it?
> 
> Okay, I can move the atomic_inc_not_zero() in find_uprobe() to
> atomic_inc().
> 
> Do you see any side-effects of using atomic_inc_not_zero?

No, its just slower, once you want to start doing RCU lookups in the
probe tree you'll need it through.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]