> Hi All,
>
> I want to implement CLOCK replacement policy in memcached to reduce the 
> contention problem. I remove the mutex_lock(&cache_lock); and replace it
> with a fine grain lock for each hv i.e., item_lock(hv);
>
> My problem is that I have deadlock in my implementation. This deadlock is not 
> because of multihtreading since I have it even with one thread in the
> server. I have debugged the code and I am sure that the deadlock is not 
> because of the
> item_lock(hv) and STATS_LOCK().
>
> I do not know the whole code of the memcached but I know replacement policy 
> part almost well. I have a high level question. Does the implementation
> for other parts of memcached (excluding replacement policy) count on 
> mutex_lock(&cache_lock) and mutex_unlock(&cache_lock) of the cache management
> policy. I think there is a deadlock in other lock variables such as 
> slabs_lock and cache->mutex ,....
>
> Would you please help me. For example let me know what I should consider if I 
> remove the mutex_lock(&cache_lock).
>
> Any idea or hint is welcomed. Thanks a lot.
>
> Best Regards,
> Saeid

(Sorry for necro'ing an old e-mail). You'll have to understand the locks
pretty thoroughly to make that sort of change. cache_lock is used in a
handful of places (slab rebal, etc).

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to