Re: NexusDB Memory Manager version 2 released

From: Hannes Danzl[NDD] (hannes_at_nexusdb.dbnexus.com)
Date: 07/29/04


Date: Thu, 29 Jul 2004 13:26:33 +1200


> Is there a fix for this, or information on how to avoid it? I've got a
> program that has multiple threads running at different priorities, and
> I'm using MM1.

Unfortunately a fix is not possible as it's a limitation in the initial design.
The problem occures if a low priority thread is in the memory manager spinlock
and 2 threads of higher priority end up waiting for the spinlock. In that case
they will switch between each other for a long time before the low priority
thread gets time to clear the spinlock. I've had wrong information about that
before. It's not a real deadlock it's a freeze that can last for a second or
more. We could create this situation in tests but only have seen it in the wild
with one customer. As said there's no fix possible for this in V1.

-- 
Hannes Danzl [NexusDB Developer]
Newsgroup archive at http://www.tamaracka.com/search.htm


Relevant Pages