John Ogness | 5 Feb 2006 23:41
Picon

2.2.0-pre1 posted

Hi,

Summary:
A pre-release of 2.2.0 (pre1) has been posted. The reason for the sudden
jump from 2.1.1 to 2.2.0 is that an important bugfix in the internal
locking was found. This bug exists in every version of Dazuko until now.
The bug can occur if events are coming in faster than than registered
processes can work them off (thus being put on a waiting queue). In such
a situation, it is possible that a deadlock between two processes can
occur. Depending on the Dazuko Include Paths at that moment, this could
lead to the registered process freezing or in the case of "/", the
entire machine. For this reason, I want to make 2.2.0 the next stable
release as soon as possible and encourage everyone to upgrade.

Background:
As I've mentioned previously, I really wanted to get a pre-release of
DazukoFS posted for Dazuko's birthday. After successfully implementing
the basic components of DazukoFS, I began doing extensive system
testing. This was leading to frequent lock-ups. I ended up tracing the
problem to the Dazuko core (the main, cross-platform part).

The problem was an error in the way that the queues and slots were being
concurrently locked. While digging deeper, it also became clear to me
that the way the wait-queues were being used was very inefficient. I
then went through and did a complete analysis of all the states and
locking relationships within Dazuko. Then I localized and optimized the
wait queues so that they are only being used exactly when they are needed.

These changes have not only eliminated the deadlock problem, but have
improved performance by dramatically reducing unnecessary context
(Continue reading)


Gmane