On 08/01/2012 06:03 PM, Liu Yuan wrote: > The old reclaim algorithm tries to push dirty object synchronously, which does > lock/unlock mutex dance because push operation is considerably long opration. > This dramtically obfuscate the code and logic. > > We don't actually do this dance because flush opreations is periodically > issued > from guests in a relatively short window (for e.g, less than 1 minuts in > Linux) > if there are dirty pages in kernel's memory. That is, in most cases, we'll see > more 'clean' objects than dirty objects. > > The new algorithm is simple yet efficient (similar to Linux kernel's page > cache): > - only tries to reclaim 'clean' object, which doesn't has any dirty updates, > in a LRU list. > - spip the object when it is in R/W operation. > - skip the dirty object if it is not in push(writeback) phase. > - wait on the dirty object if it is in push phase. > > This patchset also fix other racy problems.
Applied this series. Thanks, Yuan -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
