Yes Dustin, i have studied the code... and im using same locks as
other functions that call unlink_nolock but as multithreading code is
hard to debug confirmation would be nice anyway :) (i used cache lock
to iterate over head[slab_class] and then issue no-locking delete ops,
other functions do it the same way)

> If you're intending to make modifications to the existing engine
Actually i have already modified it and it seems working. It's
compatible with current client libraries. I'll post on mailing list
with some simple benchmarks if anyone's interested.

S.

On 28 Lut, 09:02, Dustin <[email protected]> wrote:
> On Monday, February 27, 2012 10:18:40 AM UTC-8, Slawomir Pryczek wrote:
>
> > Hi Guys in code we have some locks
>
> > slabs_lock
> > cache_lock
> > item_lock
>
> > can you please explain what these are for? Should i get cache_lock,
> > then item_lock to remove an item? I see we have function
> > unlink_nolock... why is it needed?
>
>   Your best bet would be to trace the code you see.  Where is unlink_nolock
> called?  Which locks are used during that call and how are they acquired?
>  etc...
>
>   If you're intending to make modifications to the existing engine, you're
> going to need to study this code carefully.

Reply via email to