view src/org/dancres/blitz/arc/sync_cond.txt @ 27:511648fa4d64 Version 2.1

Version to 2.1
author Dan Creswell <dan.creswell@gmail.com>
date Mon, 04 Jan 2010 13:00:40 +0000
parents 3dc0c5604566
children
line wrap: on
line source

Could we schedule I/O in such a fashion as to be outside of locks involved in
a deadlock situation?

Cache lock = sync() lock in ArcCache.
CBD lock is the individual mutex of a CBD.

What are the conditions for achieving this?

We must have done all cache list modifications before releasing the cache lock.
   - This ensures another thread doesn't, for example, recover a CBD with one
   id which, in fact, is being "renamed" to another id.
   - We must also do this to protect the state of the various lists which
   constitute a chunk of the cache state.  Question, is the state of a CDB's
   content part of the cache state?