devPrivates performance

Eamon Walsh ewalsh at
Mon Apr 21 13:57:48 PDT 2008

It was brought to my attention at the conference that people aren't 
happy with the new devPrivates linked list.

I'm aware of the problem and I will work on an O(1) solution for 
master.  Thanks for the report(s).

Jie Luo wrote:
> Hi,
> xserver git cause a lot of crash, when update to commit
> c14f5dc237a31b13d98ae2d0d6143bd91083cf13. It works fine at commit
> 9e7ced94a5e3a14762fe934aa69d91f0831cf5ca. From the Xorg.0.log, the crash
> is caused by miPointerSetPosition(). The only commit between these two
> commit that may cause crash is commit
> 9b30cc524867a0ad3d0d2227e167f4284830ab4e. After revert this commit,
> xserver seems run fine now.
> commit 9b30cc524867a0ad3d0d2227e167f4284830ab4e try to optimize
> dixLookupPrivate(), but as it changing the link list of PrivateRec, it
> will break the lookup when two dixLookupPrivate() is called almost as
> the same time with the same *key*. This means one find the right
> PrivateRec and move it to the front, the other will reach the end of of
> list and create a new PrivateRec whose *value* field is NULL.
> miPointerSetPosition() crash server when it access the NULL pointer.
> ------------------------------------------------------------------------
> _______________________________________________
> xorg mailing list
> xorg at

Eamon Walsh <ewalsh at>
National Security Agency

More information about the xorg mailing list